2011-03-21 11 views
11

हम विशेष फ़ील्ड को शून्य न होने के लिए खोज करने के लिए क्वेरी कैसे बना सकते हैं?लुसीन शून्य क्वेरी नहीं है?

field_name:* काम नहीं कर रहा है। मैंने field_name:[a* to z*] की कोशिश की यह अंग्रेजी के लिए ठीक काम करता है, लेकिन सभी भाषाओं को कवर नहीं करता है।

कोई वैकल्पिक सुझाव?

उत्तर

4

यह वर्तमान में लुसीन द्वारा समर्थित नहीं है। चर्चा के लिए this देखें।

कुछ वैकल्पिक परिभाषित स्ट्रिंग (जैसे nullnullnullnull) को फील्ड मान के रूप में स्टोर करने के लिए एक वैकल्पिक विकल्प हो सकता है यदि यह शून्य है। फिर आप इन रिकॉर्ड्स को हटाने के लिए एक नकारात्मक फ़िल्टर का उपयोग कर सकते हैं। (मुझे यह पसंद नहीं है, लेकिन बेहतर विकल्प के बारे में नहीं सोच सकता)

0

field:[* TO *] या field:["" TO *] आज़माएं। लेकिन हालांकि इसके लिए फ़िल्टर का उपयोग करना शायद बेहतर है।

+0

उन दोनों की कोशिश की, कोई भी काम करता है। – Chandra

3

मुझे एक ही समस्या हो रही थी लेकिन एक ऐसी संपत्ति है जिसे आप क्वेरी पार्सर पर सेट कर सकते हैं जो आपको वाइल्डकार्ड वर्णों की शुरुआत में एक खोज शब्द। (Logstash लोचदार के माध्यम से

queryParser.setAllowLeadingWildcard(true); 

यह मेरे लिए समस्या हल

कृपया देखें Wildcard at the Beginning of a searchterm -Lucene

10

मैंने पाया यह कुछ मामलों field:([0 TO 9] [a TO z])

-1

मैं सिर्फ Lucene के साथ चारों ओर खेलने के लिए शुरू कर दिया है में काम करने के लिए खोज) और पाते हैं कि यह किबाना यूआई से काम करता प्रतीत होता है। मुझे यकीन नहीं है कि अगर यह लोचदार खोज या किबाना में कुछ खुफिया जानकारी है, तो मुझे पता है कि लोचदार खोज ल्यूसीन सिंटैक्स से उधार लेती है।

application:unit-test && !exception 

जो एक अपवाद

application:unit-test && exception 

उन जो एक गैर अशक्त अपवाद सूचीबद्ध करा सकते हैं रिटर्न नहीं था मेरी इकाई परीक्षण से सभी परिणाम देगा। ताकि आप कोशिश कर सकते हैं बस

field 

या

!field 
संबंधित मुद्दे