我有ngram索引的2个字段(数据库中的列),第三个是我的全文字段。现在我的默认文本字段是全文字段,在查询时我使用dismax处理程序并在其中指定具有某些提升值的ngrammed字段以及具有特定提升值的全文字段。
如果我不使用dismax并且只搜索全文字段(即模式中指定的默认字段)同义词正常工作,即ca返回加利福尼亚所在的所有结果,而如果我使用dismax ca也会在ngrammed字段中搜索并返回单词ca的部分匹配,并且在同义词部分中根本不会。
我想在每种情况下都使用同义词,那么我应该怎么做呢?
答案 0 :(得分:1)
确保您已在ngram字段的查询分析器中正确配置了“SynonymFilterFactory”过滤器。
如果仍然不起作用,Solr管理员的分析界面可以提供令牌化/过滤程序的更多细节,通过这些程序可以检查同义词部分是否已按预期工作。