2016-03-16 7 views
6

यह प्रश्न यहां पोस्ट किए गए पुराने प्रश्न के समान ही लगता है: Retrieve analyzed tokens from ElasticSearch documents, लेकिन यह देखने के लिए कि क्या कोई बदलाव है या नहीं, मैंने सोचा कि इसे फिर से लोचदार खोज के नवीनतम संस्करण के लिए पोस्ट करना समझदारी होगी।क्या विश्लेषण किए गए फ़ील्ड को लोचदार खोज> 2.0 खोज में वापस करना संभव है?

हम खोज-क्वेरी और क्षेत्र मानचित्रणस्नोबॉल स्टेमर ElasticSearch में निर्मित उपयोग करने के साथ ElasticSearch में पाठ के शव खोज करने के लिए कोशिश कर रहे हैं। प्रदर्शन और परिणाम बहुत अच्छे हैं, लेकिन क्योंकि हमें पोस्ट-मैनेजमेंट के लिए स्टेमड टेक्स्ट-बॉडी रखना होगा, इसलिए खोज परिणाम में खोज-प्रति पाठ टेक्स्ट-फ़ील्ड के लिए खोज परिणाम वास्तविक स्टेमड टोकन वापस करना चाहते हैं।

क्षेत्र के लिए मानचित्रण वर्तमान में लगता है कि:

 "TitleEnglish": { 
     "type": "string", 
     "analyzer": "standard", 
     "fields": { 
      "english": { 
      "type": "string", 
      "analyzer": "english" 
      }, 
      "stemming": { 
      "type": "string", 
      "analyzer": "snowball" 
      } 
     } 
     } 

और खोज क्वेरी TitleEnglish.stemming पर विशेष रूप से किया जाता है। आदर्श रूप से मैं इसे उस क्षेत्र को वापस करना चाहता हूं, लेकिन लौटने से यह विश्लेषण क्षेत्र वापस नहीं आता है लेकिन मूल क्षेत्र।

क्या कोई इसे करने के किसी भी तरीके से जानता है? हमने Term Vectors पर देखा है, लेकिन वे केवल व्यक्तिगत दस्तावेजों या दस्तावेजों के निकाय के लिए लौटने योग्य प्रतीत होते हैं, न कि खोज परिणाम के लिए?

या शायद सौर या स्फिंक्स जैसे अन्य समाधान इस विकल्प की पेशकश करते हैं?


कुछ अतिरिक्त जानकारी जोड़ने के लिए।

GET /_analyze?analyzer=snowball&text=Eight issue of Industrial Lorestan eliminate barriers to facilitate the Committees review of 

यह रिटर्न उपजी शब्द:: हम निम्न क्वेरी चलाते हैं eight, issu, industri, आदि यही परिणाम हम पाठ में शब्दों के सभी के लिए प्रत्येक मिलान दस्तावेज़ के लिए वापस चाहते हैं (तो सिर्फ मैच नहीं)।

+0

तो, आपके द्वारा लिंक किए गए प्रश्न में समाधान आपके लिए काम नहीं करते हैं? उनके साथ क्या गलत हुआ? – femtoRgon

+0

शब्द वेक्टर उत्तर वास्तविक समाधान नहीं हैं (ऊपर वर्णित अनुसार)। – luckylwk

+0

हाँ, मैंने देखा, लेकिन यह मुझे कुछ भी समझा नहीं था। यदि दस्तावेज़ नहीं है तो खोज परिणाम क्या है? – femtoRgon

उत्तर

4

जब तक मुझे कुछ स्पष्ट नहीं लगेगा, तो 10 पर पर वापस क्यों नहीं लौटना?

{ 
    "query": {...}, 
    "aggs" : { 
     "stems" : { 
      "terms" : { 
       "field" : "TitleEnglish.stemming", 
       "size": 50 
      } 
     } 
    } 
} 

आपकी क्वेरी के लिए कि एकत्रीकरण जोड़ा जा रहा है, आप दस्तावेज़ आपकी क्वेरी का मिलान नहीं हुआ से TitleEnglish.stemming उप क्षेत्र में सभी उपजी शर्तों का विश्लेषण प्राप्त होगा।

+0

उत्तर वैल के लिए धन्यवाद। मैंने कोशिश की है और यह निश्चित रूप से आपके द्वारा वर्णित किए जाने वाले कार्यों के लिए काम करता है। दस्तावेजों के बगल में यह खोज रिटर्न में मौजूद सभी स्टेमड टोकन की एक सूची देता है। यह वास्तव में वह उत्तर नहीं है जिसे हम ढूंढ रहे हैं, हालांकि अब भी हमें प्रत्येक दस्तावेज़ को पार्स करना है और इसे अपने स्टेमड घटकों को मैप करना है। – luckylwk

+0

तो आपको प्रति दस्तावेज़ लौटे हुए स्टेमड टोकन की आवश्यकता है? – Val

+0

हां, यह वह स्थिति होगी जिसके बाद हम हैं। अगर मैं स्पष्ट नहीं था तो मैं अपना प्रारंभिक प्रश्न अपडेट करूंगा। – luckylwk

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