什麼是配置Zend Lucene使搜索結果更相關的最佳實踐?Zend Lucene搜索相關性
我有以下字段和文檔類型
productname (Text)
description (Text)
category (Keyword)
請給出一些示例代碼。
什麼是配置Zend Lucene使搜索結果更相關的最佳實踐?Zend Lucene搜索相關性
我有以下字段和文檔類型
productname (Text)
description (Text)
category (Keyword)
請給出一些示例代碼。
從任何搜索引擎獲取相關結果都很困難。 隨着您指定的詳細程度,很難給您任何具體的建議。 我建議你從this paper開始。
有兩個概念讓我想起你的問題,但並不確定你在找什麼。
得分:指示文檔與搜索查詢匹配程度的評分。從manual:
Zend_Search_Lucene使用相同 評分算法和Java Lucene。搜索結果中的所有 結果按默認值排序爲 。
$hits = $index->find($query);
foreach ($hits as $hit) {
echo $hit->id;
echo $hit->score;
}
的分數是在默認情況下檢索並應用到從多到少排序的相關結果,因此必須假設你需要別的東西。
Term Boosting:用於影響查詢中各個詞的相關性。引用一次的manual:
推進允許你通過提高 各個方面來控制文檔的 相關性。例如,如果您 正在尋找
PHP framework
和你想要的術語「PHP」是使用^符號 與增強因子一起更 相關升壓旁邊 術語。您可以鍵入:
PHP^4 framework
這將使文件與PHP出現更多的相關術語 。您還可以 升壓短語搜索項和子作爲 的例子:
"PHP framework"^4 "Zend Framework"
這是否幫助呢?
請指定「更相關」的含義。 lucene是否不返回您期望的文檔? – ZeissS 2010-05-28 07:41:12
是的,結果看起來非常不相關。有比返回的結果更多的相關產品 – 2010-06-30 08:57:05