2016-04-13 65 views
0

Birden çok değer için birden fazla alan aramak için Lucene.net'te bir booleanquery oluşturuyorum.Lucene.Net el sorgusu beklenen sonuçları döndürmedi

Aşağıdaki yapılandırılmış sorguyu (+ CustomerId: 5 döndürür) çalıştırmak sonuçları döndürür.

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

bu diğer sorgu

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); 

döner Running (+ CustomerId: 5 + Make: Subaru) i hem kriterler aşılabileceğini ilk sorgudan görebilirsiniz olsa 0 sonuç bile geri getiriyor. Bildiğim kadarıyla bu işe yarayacak. Herhangi bir yardım takdir edilir.

cevap

0

Sadece başkalarının sorgularıyla ilgili sorunları var ve benimki gibi görünüyordu. Aramanın alan değeri için küçük harf kullanılarak yapılması gerekiyordu. Standart analizörü kullanarak bu, verilerin nasıl endekslendiğini gösterir.