我正在solr中使用过去的搜索进行自动建议功能。 Synonyms.txt包含一个常见的拼写错误/拼写错误等列表。它设置为在索引上运行,并在管理员中使用anaysis工具,我可以看到它工作正常 - 但它似乎不适用于实时数据。这似乎并没有这样的情况(即使分析工具,说那是什么 -solr同义词不被解析
Field type :
<field name="suggest_ngrams" type="text_ngram" indexed="true" stored="false" multiValued="true" />
Schema:
<fieldType name="text_ngram" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt" enablePositionIncrement="true"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt" enablePositionIncrement="true"/>
</analyzer>
and an example of synonyms.txt
watch, watches, watche, watchs => watch
所以在索引时间我希望“watche”与“看”来代替它在做什么。
要清楚,如果我查询的Solr(q = WATC)短语“watche”出现在结果
任何意见或洞察力,将不胜感激,因为我觉得一切都设置correctl Ÿ
感谢
那之前,应用过滤器的数据是什么林不知道 - 我的理解它的同义词过滤器应替换为“watche” '看',当它做索引。所以'watche'根本不应该在索引中,不应该被返回到结果中。 –
#显式映射匹配“=>”的LHS上的任何标记序列,并替换RHS上的所有替代方案。这些类型的映射 #ignore模式中的扩展参数。 #示例: i-pod,i pod => ipod, 海洋饼干,海biscit => seabiscuit –
因此,我读到的术语被替换,所以不应该出现在索引.... –