Birden çok alana sahip bir dizinim var, bunlardan biri bir ürün için kategori adlarını depoladığım bir dize alanı ... gibi "Elektronik", "Ev", "Bahçe", vbLucene OR Boolean sorgusu kullanarak arama
new StringField("category_name", categoryName, Field.Store.YES)); //categoryName is a value such as "Electronics"
ben isim, fiyat ve kategoriye göre ürünleri bulmak için bir Boole sorgu yapıyorum ama ben aynı anda iki kategorisi için sorgulayabilir, böylece bir OR arama yapmak nasıl emin değilim.
Bulunduğum sorgu şuna benzer:
String cat = "Electronics"
TermQuery catQuery = new TermQuery(new Term("category_name", cat));
bq.add(new BooleanClause(catQuery, BooleanClause.Occur.MUST)); // where "bq" is the boolean query I am adding to, I tried .SHOULD but that didn't help either
bu tek kategori arama için çalışıyor, ama iki kategoride olurdu "Elektronik YA Ev" aramak nasıl emin değilim.
Ibear cevabı doğrudur, ancak okumak isteyebilirsiniz @ http://searchhub.org/dev/2011/12/28/why-not-and-or -ve-değil/Boole mantığı Lucene'de nasıl çalıştığını daha iyi anlamak için. – mindas
@mindas, bağlantı için teşekkürler, aslında çok yardımcı olur. Bunu bir cevap olarak seçebilirdim, çünkü bu gerçekten faydalıdır. – SoluableNonagon