我尝试了很多方法并在不同的网站上搜索过,但我没有得到任何答案。
我需要桌面书籍和 deskbook 的相同结果,我已经写成了书桌,桌面书 => deskbook 。
但是我在一个页面上获得 deskbook 结果,而在另一个页面上获得 book 结果。这是由于 Lucene 解析器。我从this链接获得了此信息。
答案 0 :(得分:1)
如果您有多字同义词,请检查您是否遵循以下内容: -
请记住,虽然SynonymFilter会很乐意使用 包含多个单词的同义词(即:“sea biscuit,sea biscit, seabiscuit“)处理同义词的推荐方法 这是在索引时扩展同义词。
因此,您只能在索引时间分析期间使用它。
e.g。
在索引和查询时间分析中使用相同的过滤器链,因此搜索的术语与索引术语匹配。
e.g。
<fieldType name="text_synonym" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="syms.txt" ignoreCase="true" expand="true"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>