我的索引有三个字段
Doc1---
名称:甲苯
别名:无水甲苯;甲基苯
编号:534-07-6
Doc2---
名称:甲苯-2,4-二异氰酸酯
别名:2,4-TDI;2,4-二异氰酸甲苯酯;甲苯-2,4-二异氰酸酯;甲苯基-2,4-二异氰酸酯;2,4-二异氰
酸酯甲苯;甲苯 2,4-二异氰酸酯
编号:584-84-9
就比如这两个字段,我搜“甲苯” 条件是这三个字段都检索,那么lucene 的排序是按照检索得分来排,那么Doc2得分最多因为出现 ‘甲苯’ 最多所以排在最前,但关键词是甲苯 ,客户希望找的就是甲苯 Doc1 问题就是如何让最相似的排在最前。
我用solr。
1,可以给不同域设置不同的域激励因子,从而降低因为次要域出现过多关键字过分影响结果。
2,可以通过(关键字出现次数/该域包含单词数)来提高doc1的排序。 具体操作你再查查。