2011-12-01 52 views
9

我需要在查詢中定義多個篩選查詢,但需要使用OR操作。 想象一下,有fq1,fq2和fq3。現在,我想我最終篩選查詢是:在Solr中使用OR操作的多重篩選查詢

FQ = FQ1和FQ2或FQ3

有什麼辦法來處理它Solr中?

回答

3

這在Solr中是不可能的。如果你可以定義你的過濾器查詢,然後單獨指定應該在它們之間應用的布爾邏輯,那將是非常好的。

幾年前,我創建了一個Jira issue希望看到這個得到補充。

-1
+fq:fq1 +(fq2:fq2 fq3:fq3) <-- if default query filter type is OR 
+1

您確定這是否行?我一直希望這個功能一段時間,看到這裏:https://issues.apache.org/jira/browse/SOLR-1223 – brian519

+0

索利,我想同樣可以通過使用普通查詢(不過濾器查詢) – ajreal

5

看來,現在SOLR(> 4.5)支持這些類型的查詢,即

FQ =(字段1:值1或場:值2)

+1

根據Solr 4.9的「fq」文檔,[「過濾器查詢可能涉及複雜的布爾查詢。」](https://cwiki.apache.org/confluence/display/solr/Common+Query+Parameters #CommonQueryParameters-Thefq%28FilterQuery%29Parameter),它認爲你是正確的。你知道任何你可以鏈接到的例子嗎? – frances

+0

我找不到任何網上提供的參考資料。但是,我在我目前正在開發的應用程序中試用過,而且工作正常。 – Zouzias

2

你可以做這樣的事情:

fq=fieldA:(valueA OR valueB) OR fieldB:valueC