所以我有以下FQ過濾PARAM一個SOLR查詢:拆分SOLR FQ篩選查詢
(field_name:(1 OR 2 OR 25 OR 33 OR 333 OR 32 OR ...... and 2000 other ORS))
所以Solr的有這個最大布爾限制:
<maxBooleanClauses>1024</maxBooleanClauses>
因此,我別無選擇,只能拆分此查詢並嘗試合併拆分查詢的結果。此外,我對結果進行分頁,因此我只對比賽的前10個文檔感興趣,以及所有結果的總數。
問題是...搜索對象與field_name屬性具有一對多關係。因此,solr文檔可以有多個field_name值....現在在原始查詢中,這將全部用SOLR OR語句很好地解決....但是,如果我分開OR並執行3個單獨的查詢,由於此一對多關係,某些文檔會被多個查詢返回。因此,我不能只爲每個查詢添加numResult以獲得實際的聚合numResult,而且返回的文檔通常會被多個查詢返回。
我該如何解決這個難題,我該如何操作這個將相同的結果(返回相同的文檔,具有相同的總體結果)與原始未分割查詢分割成3個單獨的查詢後
爲什麼不增加'maxBooleanClauses'?還使用POST請求,以便數據通過服務器。 – arun 2014-08-27 23:11:10
另請參閱http://stackoverflow.com/questions/16201195/is-there-a-size-or-term-limit-for-a-solr-query-string-when-using-http-post – arun 2014-08-27 23:12:30