2012-10-09 10 views
5

मैं एलएस्टिकस्टैर्च का उपयोग कर रहा हूं, और वेबस्टेवेस्ट का उपयोग करके अपना खुद का रैपर लिख रहा हूं क्योंकि एनईईटी (सामान्य पसंद) में किसी आइटम को डालने की क्षमता की कमी नहीं होती है और जेनरेट आईडी वापस आती है।मैं अपने elasticsearch अनुक्रमणिका से HTML सामग्री को कैसे बाहर निकालूं?

वैसे भी - सामान्य विधि के साथ कोई समस्या नहीं है। लेकिन, किसी भी HTML सामग्री को अनुक्रमित किया गया है, यानी यदि मेरे पास फ़ील्ड में <strong>test</strong> है, तो "मजबूत" क्वेरी की खोज आइटम को वापस कर देती है।

मैं elasticsearch.yml में इस डाल दिया है, एक यादृच्छिक संदेश बोर्ड पोस्ट मैंने पाया पर आधारित

index: 
    analysis: 
     analyzer: 
      htmlContentAnalyzer: 
       type: custom 
       tokenizer: standard 
       filter: standard 
       char_filter: html_strip 

फिर, मैं एक मानचित्रण thusly मेरी सूचकांक 'सामग्री', वस्तु प्रकार 'खबर' के लिए बना :

PUT http://localhost:9200/content/news/_mapping 

{ 
    "news" : { 
     "properties" : { 
      "TextContent" : { 
       "type" : "string", 
       "index" : "analyzed", 
       "analyzer" : "htmlContentAnalyzer", 
       "store" : "yes" 
       } 
      } 
     } 
    } 
} 

store/yes बस के लिए "मजा", यह कोई फर्क नहीं पड़ता है। उपर्युक्त मुझे 200 ओके देता है।

हालांकि, खोज एक ही परिणाम देता है।

क्या मदद नहीं करता है कि लोचदार खोज दस्तावेज अपमानजनक लगता है। इस पेज की जाँच करें:

http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping.html

यह तुम क्या मानचित्रण है की एक संक्षिप्त खड़ा होनेवाला देता है, और कहते हैं अधिक जानकारी के, मानचित्रण भाग में कर रहे हैं यह पेज अर्थात्:

http://www.elasticsearch.org/guide/reference/mapping/

.. जो वास्तव में भयानक लगता है। मेरे द्वारा प्राप्त प्रारूप/ऑब्जेक्ट ग्राफ़ का जिक्र करने में कुछ भी नहीं है - "गुण", "प्रकार", "विश्लेषक", "अनुक्रमणिका" आदि का कोई उल्लेख नहीं है। दाईं ओर मेनू पर कुछ अनुभाग हैं, उदा। "_index", लेकिन वे पूरी तरह से आइटम को संदर्भित करते हैं? और यह कहां है?

  • मैं कैसे HTML टैग रोक (और संस्थाओं, मूल्यों मुझे लगता है कि विशेषता) कर अनुक्रमणिका में शामिल होने:

    तो मेरे सवाल का दो मोर्चों पर है? - मैं अभी भी एचटीएमएल संग्रहित करना चाहता हूं, आपको

  • क्या लोचदार खोज जानकारी/दस्तावेज़ीकरण के लिए कोई बेहतर स्रोत है? या मैं इसे सुपर-गुप्त डिकोडर चश्मे के बिना देख रहा हूं?
+6

डाउनवॉटेड? मैं केवल अनुमान लगा सकता हूं क्योंकि मैं कहता हूं कि दस्तावेज़ीकरण भयानक है? अच्छा यह है, है ना? अगर मैं गलती/गलतफहमी कर रहा हूं तो कम से कम गेंदों को छोड़ने के लिए गेंदें –

उत्तर

3

सारा श्रेय #elasticsearch (freenode आईआरसी) पर chrismale के साथ -

_all के खिलाफ सर्च कर रहे हैं अच्छा नहीं है: कि अपने स्वयं के विश्लेषक के साथ अनुक्रमित है। मेरे TextContent फ़ील्ड पर पूछताछ विशेष रूप से अपेक्षित के रूप में काम किया।

+2

वैकल्पिक रूप से, आप विश्लेषक को "डिफ़ॉल्ट" नाम दे सकते हैं और फिर इसे सभी क्षेत्रों में लागू किया जाएगा। (ऐसा करने के लिए, बस अपने elasticsearch.yml फ़ाइल में "html :ontentAnalyzer:" को "डिफ़ॉल्ट:" के साथ प्रतिस्थापित करें) – imotov

+1

ठीक है, मुझे एक ही समस्या का सामना करना पड़ रहा है। क्या मैपिंग को परिभाषित किए बिना मैं इसे प्राप्त कर सकता हूं? –

+0

@ अक्षत जीवानशर्मा क्या आपको yml फ़ाइल में मैपिंग को परिभाषित किए बिना इसे समझने में खुशी हुई? –

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