2013-02-26 76 views
12

में टोकननाइज़र कैसे सेट करें मेरे पास elasticsearch-jetty प्रोजेक्ट का उपयोग करके एक एम्बेडेड लोचदार खोज है, और मुझे डिफ़ॉल्ट से टोकननाइज़र का उपयोग करने के लिए सेटअप करने की आवश्यकता है। मैं कीवर्ड टोकननाइज़र का उपयोग करना चाहता हूं।elasticsearch

मैं कॉन्फ़िगरेशन फ़ाइलों के माध्यम से ऐसा करने के तरीके के बारे में नहीं समझ सकता। क्या कोई मुझे कॉन्फ़िगरेशन फ़ाइलों के माध्यम से ऐसा करने के लिए इंगित कर सकता है?

एक तरफ, क्या यह इंडेक्स को पोस्ट करके चल रहा है और चल रहा है, जबकि इंडेक्स को समायोजित करना संभव है? मैं वास्तव में यह समझना चाहता हूं कि इसका उपयोग कैसे करें, धन्यवाद।

संपादित/अपडेट: मुझे स्थानीयहोस्ट में कर्ल -XPUT या -XPOST चलाने में परेशानी हो रही है: 9200 कुछ उदाहरणों/मंचों से सेटिंग्स को समायोजित करने का प्रयास करने के लिए मैंने यहां मदद करने के लिए खोज की है, मुझे मिल रहा है 'यूरी [] और विधि [पुट]/[पोस्ट] के लिए कोई हैंडलर के नतीजे।

संपादित करें 2: अद्यतन करें, एक इंडेक्स काम करने के लिए XPUT कर रहा है, लेकिन मुझे "इंडेक्स पहले से मौजूद है" के बारे में एक त्रुटि मिली है। मुझे पता है कि यह अस्तित्व में है, मैं इसे अपडेट करना चाहता हूं।

उत्तर

24

आप कॉन्फ़िगरेशन फ़ाइलों में मैपिंग को परिभाषित कर सकते हैं, लेकिन अधिकांश मामलों में एपीआई के माध्यम से कॉन्फ़िगर करना आसान/अधिक लचीला है। उदाहरण के लिए, इस आदेश का सूचकांक test में किसी कीवर्ड/लोअर केस विश्लेषक जोड़ देगा:

$ curl -XPUT localhost:9200/testindex/ -d ' 
{ 
    "settings":{ 
    "index":{ 
     "analysis":{ 
      "analyzer":{ 
       "analyzer_keyword":{ 
       "tokenizer":"keyword", 
       "filter":"lowercase" 
       } 
      } 
     } 
    } 
    }, 
    "mappings":{ 
    "test":{ 
     "properties":{ 
      "title":{ 
       "analyzer":"analyzer_keyword", 
       "type":"string" 
      } 
     } 
    } 
    } 
}' 
+1

उत्तर के लिए धन्यवाद। मैंने वर्तमान में मौजूद इंडेक्स के लिए XPUT करने का प्रयास किया है, और पहले से मौजूद इंडेक्स के बारे में त्रुटि मिली है। क्या आप मुझे समझने में मदद कर सकते हैं? क्या मौजूदा इंडेक्स को संपादित करना संभव है? – cdietschrun

+1

यदि कोई अनुक्रमणिका पहले ही बनाई जा चुकी है, तो आप मानचित्रण को बदलने के लिए PUT मैपिंग API का उपयोग कर सकते हैं: http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping.html। ध्यान दें, हालांकि, इसे बनाए जाने के बाद आप किसी संपत्ति के मैपिंग को नहीं बदल सकते हैं। यदि आपको किसी संपत्ति को बदलने की आवश्यकता है, तो आपको एक नए मैपिंग के साथ एक नई अनुक्रमणिका बनाना होगा – Zach

0

एक मौजूदा अनुक्रमणिका को अपडेट करने के लिए,

$ curl -XPUT localhost:9200/testindex/_settings -d ' 
{ 
.......... 
} 

लेकिन अगर आप गैर गतिशील सेटिंग को अपडेट नहीं कर सकते हैं का उपयोग करें।