मैं लोचदार खोज और कोचबेस के लिए नया हूं। मैं लोचदार खोज और कोचबेस के बारे में अधिक जानने के लिए नमूना जावा एप्लिकेशन बना रहा हूं।लोचदार खोज - फ़िल्टरबिल्डर का उपयोग
ElasticSearch Java API पढ़ना, फ़िल्टरों का बेहतर इस्तेमाल उन मामलों में किया जाता है जहां स्कोर आवश्यक नहीं है और कैशिंग के लिए। मैं अभी भी पता लगा नहीं है कि कैसे FilterBuilders का उपयोग करें और निम्नलिखित प्रश्न हैं:
FilterBuilders
खोज करने के लिए अकेले इस्तेमाल किया जा सकता है?- या क्या उन्हें हमेशा
Query
के साथ उपयोग किया जाना है? (यदि सही है, तो कृपया कोई उदाहरण सूचीबद्ध कर सकते हैं?) - दस्तावेज़ीकरण के माध्यम से जाना, यदि मैं फ़ील्ड मानों के आधार पर कोई खोज करना चाहता हूं और फ़िल्टरबिल्डर का उपयोग करना चाहता हूं, तो मैं इसे कैसे पूरा कर सकता हूं? (
AndFilterBuilder
याTermFilterBuilder
याInFilterBuilder
का उपयोग कर? मैं उन दोनों के बीच मतभेदों के बारे में स्पष्ट नहीं कर रहा हूँ।)
3 प्रश्न के लिए, मैं वास्तव में खोज प्रश्नों का उपयोग कर और जैसा कि नीचे दिखाया फ़िल्टर का उपयोग कर के साथ इसका परीक्षण किया। मुझे FilterBuilders
का उपयोग करके खोज करने का प्रयास करने पर खाली परिणाम (कोई पंक्तियां नहीं) मिलीं। मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं।
कोई भी उदाहरण उपयोगी होगा। मुझे दस्तावेज़ीकरण के माध्यम से कठिन समय मिला है, जिसे मैंने स्पैस पाया और यहां तक कि खोज भी कई अविश्वसनीय उपयोगकर्ता मंचों का नेतृत्व किया।
private void processQuery() {
SearchRequestBuilder srb = getSearchRequestBuilder(BUCKET);
QueryBuilder qb = QueryBuilders.fieldQuery("doc.address.state", "TX");
srb.setQuery(qb);
SearchResponse resp = srb.execute().actionGet();
System.out.println("response :" + resp);
}
private void searchWithFilters(){
SearchRequestBuilder srb = getSearchRequestBuilder(BUCKET);
srb.setFilter(FilterBuilders.termFilter("doc.address.state", "tx"));
//AndFilterBuilder andFb = FilterBuilders.andFilter();
//andFb.add(FilterBuilders.termFilter("doc.address.state", "TX"));
//srb.setFilter(andFb);
SearchResponse resp = srb.execute().actionGet();
System.out.println("response :" + resp);
}
- -UPDATE--
जवाब में सुझाव के रूप में, लोअरकेस "tx" काम करता है बदल रहा है। इस सवाल के साथ हल हो गया। मेरे पास अभी भी निम्नलिखित प्रश्न हैं:
- किस परिदृश्य में, क्वेरी के साथ उपयोग किए जाने वाले फ़िल्टर हैं? यह किस उद्देश्य से काम करेगा?
InFilter
,TermFilter
औरMatchAllFilter
के बीच अंतर। कोई चित्रण मदद करेगा।
आप ठीक कह रहे हैं, मैं searchrequestbuilder पर फ़िल्टर सेट करने के पोस्ट संपादित। और "टीएक्स" में बदलकर मैं परिणाम देखता हूं! धन्यवाद। मैंने इस पोस्ट को संपादित करने के लिए संपादित किया है और कुछ प्रश्न जो अभी भी जारी हैं .. धन्यवाद। –
मैंने आपके उत्तर को आपके अपडेट किए गए प्रश्न के अनुसार अपडेट किया है, इसे जांचें। – javanna
उदाहरण के लिए लिंक को तोड़ने के लिए इस खोज उदाहरण पर एक नज़र डालें। –