2010-09-03 93 views
0

嘿,我有一個問題,使用QueryParser構建一個複雜的lucene查詢。Lucene.net查詢解析器語法問題

這基本上是我需要搜索的字段之一(允許): 此字段基本上存儲了一些指定某些訪問的一系列關鍵字。 它可能看起來像:

  1. -PPartners:ALL
  2. -PLevel:ALL

  3. -PRegion:亞洲,歐洲,美洲,

  4. -PAffiliate:GOOGLE

因此,基本上對於每個項目進行搜索,我需要傳遞這些值,看看結果要麼允許訪問這些值,要麼對每個c ategory

我試着在查詢解析器中使用以下語法,但沒有奏效。 ((「PPartners:ALL」或「PPartners:OEM」)和(「PLevel:ALL」或「PLevel:Executive」)和(「PAffiliate:ALL」或「PAffiliate:XCompany」)AND( 「PRegion:ALL」或「PRegion:North America」))

我結束了零結果,你會建議執行此搜索的最佳方法嗎? 謝謝,

回答

0

你用什麼分析器爲QueryParser。如果你正在搜索的字段沒有被分析,QueryPaser使用分析器來降低查詢字符串,那麼他們的值'ALL'將永遠不匹配'all'