2016-04-13 15 views
0

複数のフィールドを複数の値で検索するためにLucene.netでbooleanqueryを作成しています。Lucene.Net手動クエリが期待した結果を返さない

以下のクエリを実行すると(+ CustomerId:5が返されます)、結果が返されます。この他のクエリ

var booleanQuery = new BooleanQuery(); 
     Query query = new TermQuery(new Term("CustomerId", "5")); 
     booleanQuery.Add(query, Occur.MUST); 
     Query query1 = new TermQuery(new Term("Make", "Subaru")); 
     booleanQuery.Add(query1, Occur.MUST); 

戻ります(:5 +ください:+ CustomerIdのスバル)を実行

var booleanQuery = new BooleanQuery(); 
     Query query = new TermQuery(new Term("CustomerId", "5")); 
     booleanQuery.Add(query, Occur.MUST); 

は、私は両方の基準を満たすことができることを最初のクエリから見ることができるにもかかわらず、バック0の結果をもたらします。私の知る限り、これはうまくいくはずです。どんな助けもありがとうございます。

答えて

0

他の誰かが質問に問題があり、私のように感じられたような気がします。フィールド値の小文字を使用して検索を実行する必要がありました。標準的なアナライザを使用して、これはデータがどのようにインデックス付けされたかです。

関連する問題