मैं Lucene में नया हूँ, मैं, क्या आप मेरी मदद कर सकता हैLucene "या प्रश्नों"
धन्यवाद इस
content="some thext" and (id ="A" or id="B" or id="c")
मैं वास्तव में उस के साथ खो गया हूँ की तरह एक खोज कुछ बनाने की कोशिश कर रहा हूँ।
मैं Lucene में नया हूँ, मैं, क्या आप मेरी मदद कर सकता हैLucene "या प्रश्नों"
धन्यवाद इस
content="some thext" and (id ="A" or id="B" or id="c")
मैं वास्तव में उस के साथ खो गया हूँ की तरह एक खोज कुछ बनाने की कोशिश कर रहा हूँ।
मेरा मानना है कि Query Parser Syntax documentation में "समूहीकरण" खंड उत्तर प्रदान करता है:
(jakarta OR apache) AND website
मुझे लगता है कि आप अपने ऑपरेटरों (and
, or
) अपर केस बनाना चाहिए। साथ ही, मुझे नहीं लगता कि आप बराबर ऑपरेटर का उपयोग कर सकते हैं (इसके बजाए एक कोलन का उपयोग करें)।
content:"some thext" AND (id:"A" OR id:"B" OR id:"c")
BooleanQuery mainQuery = new BooleanQuery();
TermQuery contentFilter = new TermQuery(new Term("content", "some text"));
mainQuery.add(contentFilter, BooleanClause.Occur.MUST);
BooleanQuery idFilter = new BooleanQuery();
idFilter.setMinimumNumberShouldMatch(1);
idFilter.add(new TermQuery(new Term("id", A)), BooleanClause.Occur.SHOULD);
idFilter.add(new TermQuery(new Term("id", B)), BooleanClause.Occur.SHOULD);
idFilter.add(new TermQuery(new Term("id", C)), BooleanClause.Occur.SHOULD);
mainQuery.Add(idFilter, BooleanClause.Occur.MUST);
ऐसा लगता है कि 'मॉड्यूलफिल्टर' को' idFilter' में बदला जाना चाहिए। उत्तर के लिए वैसे भी +1। – RyuuGan
एक स्पष्टीकरण जो मुझे उपयोगी पाया गया था (ओकुर जावाडॉक्स से): किसी भी ऑयलर के साथ एक बूलियनक्वियर के लिए। केवल खंड, एक या अधिक होता है। क्लाउड को BooleanQuery के मिलान के लिए दस्तावेज़ से मेल खाना चाहिए। – Renaud
BooleanQuery अब मान्य नहीं है।
नया वाक्यविन्यास इस तरह दिखता है। (== चाहिए या, == चाहिए और)
val searchManager = Search.getSearchManager(cache)
val queryBuilder = searchManager.buildQueryBuilderForClass(classTag[T].runtimeClass).get()
val luceneQuery = queryBuilder.bool()
luceneQuery.should(new TermQuery(new Term("type", "lala"))
luceneQuery.createQuery()
धन्यवाद ... यह काफी सफल रहा आपकी मदद की –
आप इसे करने के आसान बनाने में कर सकता है: 'सामग्री:" कुछ thext "और आईडी :('ए' या "बी" या "सी") ' –