Я использую компонент Suggest в версии solr 6.5. Я настроил BlendidInfixLookupFactory для сортировки предложений по ключевому слову поиска.
Ниже моя текущая конфигурация:
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">BlendedInfixLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">title</str>
<str name="suggestAnalyzerFieldType">text_general</str>
<str name="blenderType">position_linear</str>
<str name="numFactor">20</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">10</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
Но это не сортировка на основе позиции ключевого слова, и она возвращается в случайном порядке и не уверена, какой порядок соблюдается. Согласно документации solr, он должен сортироваться по позиции, но не работает в таком порядке.
Например: мое ключевое слово для поиска – синий.
Мои ожидаемые результаты: синий, синий кит, голубая вода, небесно-голубой, есть синяя игрушка
Фактические результаты: небесно-голубое, синий кит, есть синяя игрушка, голубая вода, голубое
Может кто-нибудь, пожалуйста, дайте мне знать, возможно ли сортировать таким образом?