我的索引有三個字段
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得分最多因?yàn)槌霈F(xiàn) ‘甲苯’ 最多所以排在最前,但關(guān)鍵詞是甲苯 ,客戶希望找的就是甲苯 Doc1 問題就是如何讓最相似的排在最前。
3 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個贊
我用solr。
1,可以給不同域設(shè)置不同的域激勵因子,從而降低因?yàn)榇我虺霈F(xiàn)過多關(guān)鍵字過分影響結(jié)果。
2,可以通過(關(guān)鍵字出現(xiàn)次數(shù)/該域包含單詞數(shù))來提高doc1的排序。 具體操作你再查查。

白衣染霜花
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個贊
生成索引時加上: document.setBoost(100); //自定義評分,如100
查詢時使用: org.apache.lucene.search.function.FieldScoreQuery;
添加回答
舉報
0/150
提交
取消