Поддерживает ли Solr Suggester поиск по инфиксам? - PullRequest
3 голосов
/ 15 марта 2011

На вики-странице компонента Solr Suggester не указано, как выполняется поиск в указанном поле?Это только префикс или возможен также инфиксный поиск?

Ответы [ 2 ]

2 голосов
/ 14 июля 2016

Да, поддерживается. Отредактируйте свой файл solrconfig.xml, перейдите к элементу searchComponent, измените значение «lookupImpl» из org.apache.solr.spelling.suggest.tst.TSTLookupFactory (как показано на вики-странице компонента Solr Suggester , например, но это может быть другой, как FuzzyLookupFactory и т. д.) в AnalyzingInfixLookupFactory.

Это должно быть очень похоже на это:

<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">yourSearchFieldName</str>
<str name="suggestAnalyzerFieldType">yourSearchFieldType(String, text-general)</str>
<str name="buildOnStartup">true</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 после изменений.

0 голосов
/ 31 марта 2011

Вы можете выполнить автоматическое предложение "инфикс" или n-грамм в отношении индексированного поля, в цепочке которого есть N-Gram Tokenizer .

...