2010-11-15 14 views
9

की दुकान विशेषता Lucene फील्ड के एक निर्माता है:एक Lucene क्षेत्र

Field(String name, String value, Store store, Index index) 

उदाहरण के लिए मैं ने एक नया क्षेत्र बना सकते हैं:

Field f1 = new Field("text", "The text content", Field.Store.YES, Field.Index.ANALYZED); 

मैं अर्थ के बिल्कुल यकीन नहीं है चौथे पैरामीटर का: Index

यदि मैं इसे Index.No पर सेट करता हूं, तो क्या इस फ़ील्ड को "फ़ील्ड" के रूप में जोड़ने की आवश्यकता है?

मेरी राय में, एक बार एक विशेषता के रूप में एक विशेषता घोषित किया जाता है, तो इसे अनुक्रमित किया जाना चाहिए, यदि नहीं तो आप इसे एक क्षेत्र के रूप में क्यों घोषित करते हैं?

क्वेरी और खोज के बीच क्या अंतर है?

उत्तर

19

संग्रहीत फ़ील्ड हैं जो ask Lucene to give you back a document पर लौटाए जाते हैं। वे बिना किसी विश्लेषण के क्षेत्र के मूल मूल्य को पकड़ते हैं। आप दस्तावेज़ों को उपयोगकर्ताओं को प्रस्तुत करने के लिए उनका उपयोग कर सकते हैं (जरूरी नहीं कि सभी फ़ील्ड)।

संग्रहीत किए गए संग्रहीत फ़ील्ड मेटा-डेटा को उस दस्तावेज़ के बारे में स्टोर करने के लिए उपयोगी हैं जो उपयोगकर्ता इंडेक्स से पूछताछ के लिए उपयोग नहीं करेगा। एक उदाहरण डेटाबेस आईडी हो सकता है जहां एक दस्तावेज़ आता है। यह आईडी उपयोगकर्ता द्वारा कभी भी उपयोग नहीं की जाएगी क्योंकि उन्हें इसके बारे में पता नहीं है, इसलिए यह आमतौर पर इसे अनुक्रमित करने के लिए बेकार है। लेकिन अगर आप इसे स्टोर करते हैं, तो आप रनटाइम पर अपने डीबी से अतिरिक्त जानकारी इकट्ठा करने के लिए इसका इस्तेमाल कर सकते हैं।

एक प्रश्न और खोज के बीच का अंतर बल्कि व्यक्तिपरक है। मेरे लिए, एक खोज वास्तव में सूचकांक में खोज का सामान्य कार्य है जबकि एक क्वेरी वास्तविक query string used to search the index है।

18

रूप Lucene FAQ में उल्लेख किया है:

क्या के बीच संग्रहित, Tokenized, इंडेक्स किए गए अलग है, और वेक्टर?

  • संग्रहित = के रूप में है Lucene सूचकांक में संग्रहीत मूल्य
  • Tokenized = क्षेत्र है निर्दिष्ट विश्लेषक का उपयोग विश्लेषण किया - (टोकन उत्सर्जित इंडेक्स किए गए
  • इंडेक्स = पाठ या तो कीवर्ड साथ किया जाता है फ़ील्ड, या टोकननाइज्ड फ़ील्ड्स से टोकन) को खोजने योग्य बनाया जाता है (उर्फ उलटा हुआ)
  • प्रति दस्तावेज प्रति शब्द = अवधि आवृत्ति सूचकांक में आसानी से पुनर्प्राप्त करने योग्य फैशन में संग्रहीत की जाती है।

तुम बस सूचकांक क्षेत्र सामग्री की दुकान के बिना यह, क्षेत्र भी खोजा है, बस परिणाम पर प्रकाश डाला नहीं कर सकते हैं कर सकते हैं, क्योंकि प्रकाश डाला, मूल संदेश सामग्री की आवश्यकता है जो स्टोर करना चाहिए।

+0

तो कोई इसे अनुक्रमणित किए बिना फ़ील्ड क्यों बना सकता है? – hguser

+4

उदाहरण के लिए, पोस्टिड स्टोर करें, पोस्ट सामग्री को इंडेक्स करें, फिर आप खोज ल्यूसीन के बाद पोस्ट द्वारा पोस्ट कर सकते हैं। – Robin