Я использую версию Solr 6.3, я пытаюсь реализовать автоматический советчик, в котором мне нужно применить фильтр контекста. Я использовал 'AnalyzingInfixLookupFactory' для lookupImplementation и 'DocumentDictionaryFactory' для dictionaryImpl и применил фильтр к типу документа 'Product'. Но это не работает для меня.
Вот пример кода для того же:
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">productName</str>
<str name="contextField">documentType</str>
<str name="weightField"></str>
<str name="suggestAnalyzerFieldType">lowercase</str>
<int name="maxEdits">2</int>
<str name="buildOnStartup">false</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>
Запрос:
/suggest&df=productName&cfq=Product&suggest=true&suggest.build=true&suggest.dictionary=mySuggester&suggest.q=cap