我一直在嘗試在lucene中運行以下布爾查詢,但它似乎失敗。請幫忙。在Lucene中布爾搜索
(a或b)和c - >工作正常
(a和b)或c - >給出了A和B或C的結果。所以一個必須和b和c變得應該,而搜索結果是錯誤的。它應該像a一樣工作,b必須可用或c可用。
又如:
如果你搜索「(A和B)」,它將返回X結果
如果你搜索「C」,它將返回是導致
如果您搜索對於「(a和b)或c」,結果數量不能小於x或y中的較大值。但是這沒有發生。請幫助我該如何着手實施?
我一直在嘗試在lucene中運行以下布爾查詢,但它似乎失敗。請幫忙。在Lucene中布爾搜索
(a或b)和c - >工作正常
(a和b)或c - >給出了A和B或C的結果。所以一個必須和b和c變得應該,而搜索結果是錯誤的。它應該像a一樣工作,b必須可用或c可用。
又如:
如果你搜索「(A和B)」,它將返回X結果
如果你搜索「C」,它將返回是導致
如果您搜索對於「(a和b)或c」,結果數量不能小於x或y中的較大值。但是這沒有發生。請幫助我該如何着手實施?
(a AND b)或c被轉換爲(+a +b) c
。你想要的是沒有括號:+a +b c
。
從邏輯的角度來看,「A和B必須出現,C可能出現」相當於「A和B必須出現」。 (在古典邏輯中,沒有辦法說「可能是真的」)。因此,用布爾量表示(+a +b) c
會有困難。你可以做的一種方法是「(a AND b AND c)或(a AND b)」。
做一個b和c是你正在尋找的實際值? – PVR 2016-06-19 16:55:29