gpt4 book ai didi

java - 用于 Impl 类 AnalyzingInfixLookupFactory 的 Solr 建议器

转载 作者:行者123 更新时间:2023-11-29 07:47:41 25 4
gpt4 key购买 nike

我在使用 Solr 的建议组件时遇到问题,我想使用的实现类是 AnalyzingInfixLookupFactory,我使用它来获取基于中缀的建议,而不仅仅是前缀。我还需要 Solr 将搜索词视为一个标记。但问题是 Solr 总是根据前缀而不是中缀返回建议。

我在 solrconfig.xml 中的建议组件:

  <searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str> <!-- org.apache.solr.spelling.suggest.fst -->
<str name="dictionaryImpl">DocumentDictionaryFactory</str> <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory -->
<str name="field">movie_name</str>
<str name="weightField">movie_meter</str>
<str name="buildOnCommit">true</str>
<str name="suggestAnalyzerFieldType">text_general</str>
</lst>

schema.xml 中的 text_general:

  <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

最佳答案

我知道很久以前就有人问过这个问题,但无论如何这就是我的答案。

在上面的solrconfig.xml中使用以下分析器字段类型:

<str name="suggestAnalyzerFieldType">text</str>
<str name="queryAnalyzerFieldType">text_suggest</str>

然后在 schema.xml 中:

<fieldtype name="text" class="solr.TextField">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldtype>

<fieldtype name="text_suggest" class="solr.TextField">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.TrimFilterFactory"/>
</analyzer>
</fieldtype>

关于java - 用于 Impl 类 AnalyzingInfixLookupFactory 的 Solr 建议器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24056987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com