2010-12-20 15 views
1

我對solr的可能性有疑問。我需要做一個特殊問題的請求:在同一請求中需要幾個定位

我需要第一個:推廣的記錄與用戶鍵入的所有條款(隨機排序)。 秒:用戶輸入的任何字詞(隨機排列)推廣記錄。 第三:通過詞幹搜索找到的促銷記錄(隨機排列)。 第四:通過語音搜索發現記錄(隨機)。 第五:按字母順序排列的免費記錄(具有用戶輸入的全部或任何詞彙)。

這些結果需要分頁。

是否可以在相同的請求中執行此操作?

回答

0

發現自己的隨機排序後是通過支持Solr中:

<fieldType name="random" class="solr.RandomSortField" /> 
<field name="random" type="random" indexed="true" stored="false"/> 

這些查詢將是可能的,但不是在一個查詢

儘管人們可以使用面和facet.query功能,但這隻會返回計數...不是文檔。

我會設置一個單獨的廣告指標,而不是正常的方式來實現「廣告」與elevation component

晉升記錄所有用戶鍵入的條款(隨機排序)

針對廣告索引的簡單AND查詢

用戶輸入的任何詞語(隨機排列)推廣記錄

簡單或查詢對廣告指數

由詞幹搜索找到晉升記錄(隨機排序)。

正常搜索(帶有詞幹)在廣告索引中。

由語音搜索(隨機)發現的促銷記錄。

您需要通過自己的語音轉換來轉換查詢和條件才能做到這一點。所以你有一個特殊的領域phonetic_text,你需要通過

Q = phonetic_text查詢這樣的:「UR G8」(意爲:你是偉大的;-))下令

免費紀錄按字母順序排列(具有用戶鍵入的全部或任何字詞)。通過 「AND」 或 「OR」 與排序參數

再次正常的搜索