2016-11-29 103 views
0

我正在使用Apache Solr實施搜索引擎。我想根據最頻繁的搜索來改進結果。
例如:考慮我的索引有5個字
下99
拉46
黑86
沉悶的75
髒63
的數字表明有多少次用戶searcded一個特定的詞。 我想,如果下一個用戶進入並鍵入d的反應應該是按降序排列的前搜查,應該是爲了

黑暗
沉悶



結果將改變不時因爲單詞搜索頻率會在每次搜索後發生變化。我如何在Solr中實現這一點...任何幫助都會對我有所幫助。
感謝你在期待
問候A.S.Danyal如何提高Apache Solr搜索排名

回答

0

Solr的不提供這種功能。

實現此目的的一種方法是使用日誌, 您需要輸入搜索項的索引。這可以通過挖掘您的搜索日誌來構建。

1

由於vinod寫道,您必須自己跟蹤實際搜索 - Solr沒有內置任何內容來處理這個問題。但是,如果您有搜索統計信息可用,則可以通過擁有一個單獨的搜索集合/核心以及您搜索的搜索及其受歡迎程度來實現此功能。每個文檔都將是一個搜索詞以及搜索文檔的頻率,即文檔:search,search_count。

您還可以使用對數函數來使用search_count的分數來影響搜索詞的分數,例如,如果您不僅僅將搜索作爲影響分數的字段(例如活動類別,等等。)。

根據搜索量,您可能不需要在每次搜索後更新這些值 - 只需在每天或每隔一小時更新一次即可。跟蹤自上次更新後搜索量已更改的條款,並以特定間隔更新批處理作業中的這些文檔。