Я новичок в Solr, и мне поручили улучшить автоподстановку
для нашего продукта. Мы используем Solr 6.6.0 . Текущее требование:когда пользователь ищет рубашки, в результатах должны отображаться мужские рубашки, женские рубашки как autosuggest. На данный момент отображаются только рубашки. Пожалуйста, дайте мне знать в случае каких-либо потенциальных клиентов.Ниже приведена конфигурация:
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">flf</str>
<str name="lookupImpl">AnalyzingLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">autosuggest</str>
<str name="weightField">vm_score</str>
<str name="suggestAnalyzerFieldType">textSuggest</str>
<str name="exactMatchFirst">true</str>
<str name="buildOnStartup">false</str>
<str name="storeDir">autosuggest_fuzzy</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">5</str>
<str name="suggest.dictionary">flf</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
textSuggest создается из следующих полей в файле schema.xml:
<copyField source="product_name" dest="autosuggest" />
<copyField source="product_description" dest="autosuggest" />
<copyField source="brand_name" dest="autosuggest" />
<copyField source="tags" dest="autosuggest" />
<copyField source="gender" dest="autosuggest" />
<copyField source="master_category_name" dest="autosuggest" />
<copyField source="sub_category_name" dest="autosuggest" />
<copyField source="product_id" dest="autosuggest" />
<copyField source="id" dest="autosuggest" />
<field name="autosuggest" type="textSuggest" indexed="true" stored="true"
required="false" multiValued="true" />
Поле textSuggest имеет следующую конфигурацию:
<fieldType class="solr.TextField" name="textSuggest" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" maxGramSize="100"/>
<filter class="solr.BeiderMorseFilterFactory" nameType="GENERIC" ruleType="APPROX" concat="true" languageSet="auto" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.BeiderMorseFilterFactory" nameType="GENERIC" ruleType="APPROX" concat="true" languageSet="auto" />
</analyzer>
</fieldType>