2015-05-04 7 views
11

मुझे आश्चर्य है कि क्या एक संपूर्ण इंडेक्स या उपनाम में एलैस्टिकसेर्च क्षेत्र में शीर्ष दस सबसे अधिक शब्द प्राप्त करना संभव है।लोचदार खोज शब्द आवृत्ति और संबंध

यहाँ मैं क्या करने की कोशिश कर रहा हूँ है:

मैं का अनुक्रमण कर रहा हूँ पाठ विभिन्न दस्तावेज़ प्रकार (वर्ड, पावरपोइंट, पीडीएफ, आदि) से निकाले गए दस्तावेजों इन का विश्लेषण किया और एक क्षेत्र doc_content कहा जाता है में संग्रहीत हैं। मैं जानना चाहता हूं कि doc_content फ़ील्ड में संग्रहीत किसी विशेष इंडेक्स में सबसे लगातार शब्द (ओं) को खोजने का कोई तरीका है या नहीं।

इसे स्पष्ट करने के लिए, मान लीजिए कि मैं अमेज़ॅन और ईबे से चालान इंडेक्स कर रहा हूं उदाहरण के लिए। अब मान लें कि मेरे पास अमेज़ॅन से 100 चालान और eBay से 20 चालान हैं। आइए यह भी मान लें कि प्रत्येक अमेज़ॅन चालान में "अमेज़ॅन" शब्द दो बार होता है और प्रत्येक ईबे चालान में "eBay" शब्द 3 बार होता है।

अब, कुल मिलाकर एक तरीका प्राप्त करने का एक तरीका है जो मुझे बताता है कि "अमेज़ॅन" शब्द मेरी अनुक्रमणिका में 200 बार (100 चालान x 2 घटनाएं/चालान) दिखाई देता है और शब्द "eBay" 60 गुना होता है (20 चालान एक्स 3 घटनाएं/चालान)।

मेरा दूसरा प्रश्न यह है कि यदि पूर्व संभव है, तो यह निर्धारित करने का कोई तरीका है कि एक निश्चित शब्द के बाद सबसे अधिक शब्द क्या होता है?

उदाहरण के लिए: मान लें कि मेरे पास 100 दस्तावेज़ हैं। इनमें से 60 दस्तावेजों में "ओल्ड कैट" शब्द शामिल है और 40 में "ओल्ड डॉग" शब्द शामिल है और तर्क के लिए यह मानते हैं कि ये शब्द केवल प्रत्येक दस्तावेज़ में एक बार दिखाई देते हैं।

अब, हम "पुराने" शब्द की आवृत्ति जो हमारे मामले में होना चाहिए 100 हम तो शब्द आता है कि सही होने के बाद यह कुछ इस तरह है करने के लिए करने के लिए एक संबंध का निर्धारण कर सकता प्राप्त कर सकते हैं:

   __________ Cat (60) 
       | 
Old (100)-----| 
       |__________ Dog (40) 

उत्तर

3

शब्द आवृत्तियों को प्राप्त करने के लिए आप term vectors का उपयोग कर सकते हैं। हालांकि, आपको पहले उन्हें स्टोर करना होगा और दूसरा, आप उन्हें केवल किसी दिए गए दस्तावेज़ के लिए पुनर्प्राप्त कर सकते हैं।

जहां तक ​​मुझे पता है, टर्म वेक्टरों को एकत्र करना संभव नहीं है।

शायद आप स्क्रिप्टेड फ़ील्ड का उपयोग करके जो कुछ चाहते हैं उसे प्राप्त कर सकते हैं। लेकिन फिर फिर, सुरक्षा मुद्दों के कारण ग्रोवी वर्तमान में अक्षम हो गए हैं और लिखित क्षेत्रों में एकत्रित होने की संभावना काफी धीमी है।

+0

वैसे आप कुल शब्द आवृत्तियों के लिए पटकथा फ़ील्ड का उपयोग कर के बारे में अधिक विस्तार से बता सकते हैं:

वैसे, इसी तरह के सवाल से पहले कहा गया है। सुरक्षा एक मुद्दा नहीं है क्योंकि मेरा ईएस क्लस्टर सार्वजनिक नहीं है। –

+0

आप शब्द आवृत्तियों को स्वयं गणना करने के लिए इंडेक्स-टाइम स्क्रिप्टेड फ़ील्ड्स का उपयोग कर सकते हैं। मुझे नहीं लगता कि यह एक अच्छा विकल्प है लेकिन यह काम कर सकता है अगर आप केवल पूर्वनिर्धारित खोजशब्दों के एक छोटे से सेट में रुचि रखते थे। –

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