2015-06-01 17 views
7

से डुप्लिकेट निकालें मेरे पास एकाधिक डुप्लिकेट प्रविष्टियों वाला एक अनुक्रमणिका है। उनके पास अलग-अलग आईडी हैं लेकिन अन्य क्षेत्रों में समान सामग्री है।लोचदार खोज: इंडेक्स

उदाहरण के लिए:

{id: 1, content: 'content1'} 
{id: 2, content: 'content1'} 
{id: 3, content: 'content2'} 
{id: 4, content: 'content2'} 

डुप्लिकेट को हटाने के बाद:

{id: 1, content: 'content1'} 
{id: 3, content: 'content2'} 

सभी डुप्लिकेट हटाने और मैन्युअल रूप से सभी प्रविष्टियों की तुलना के बिना केवल एक विशिष्ट प्रविष्टि रखने के लिए एक तरीका है?

+0

अपनी खुद की आईडी का उपयोग करके जो बेवकूफ सुनिश्चित करता है। इसका अर्थ सामग्री के साथ है: "content1", आपको हमेशा एक ही आईडी –

+0

होना चाहिए लेकिन यह मेरे लिए मामला नहीं है। मैं एक दिए गए इंडेक्स के साथ काम कर रहा हूं। इस सूचकांक में कई अलग-अलग प्रविष्टियां हैं जो समान सामग्री धारण कर रही हैं। इसलिए मैं इन डुप्लिकेट को हटाना चाहता हूं। – fwind

+0

आपकी 'सामग्री' फ़ील्ड मैप की गई है? क्या यह एक 'स्ट्रिंग' है, 'विश्लेषण' '' not_analyzed'? – Val

उत्तर

2

मैं रेल का उपयोग करता हूं और यदि आवश्यक हो तो मैं FORCE=y कमांड के साथ चीजें आयात करूंगा, जो उस इंडेक्स और टाइप के लिए सब कुछ हटा देता है और फिर से अनुक्रमित करता है ... हालांकि यह सुनिश्चित नहीं है कि आप किस पर्यावरण को ईएस चला रहे हैं। केवल समस्या मैं देख सकता हूं यदि डेटा स्रोत जो आप आयात कर रहे हैं (यानी डेटाबेस) में डुप्लिकेट रिकॉर्ड हैं। मुझे लगता है कि अगर मैं व्यवहार्य है, तो डेटा स्रोत को ठीक किया जा सकता है, और आप सबकुछ फिर से अनुक्रमणित करते हैं, तो मैं पहले देखूंगा; अन्यथा आप एक कस्टम आयात विधि बनाने का प्रयास कर सकते हैं जो प्रत्येक रिकॉर्ड के लिए केवल डुप्लिकेट आइटमों में से एक को अनुक्रमणित करता है।

इसके अलावा, और मुझे पता है कि यह डुप्लिकेट प्रविष्टियों को हटाने के लिए आप का अनुपालन नहीं करता है, लेकिन आप बस अपनी खोज को कस्टमाइज़ कर सकते हैं ताकि आप केवल हाल ही में "टाइमस्टैम्प" द्वारा डुप्लिकेट आईडी में से एक को वापस कर रहे हों या आपके सामग्री फ़ील्ड द्वारा deduplicated डेटा और समूहबद्ध अनुक्रमण - देखें कि this post helps। भले ही यह आपके सूचकांक में डुप्लिकेट रिकॉर्ड बनाए रखे, कम से कम वे खोज परिणामों में नहीं आएंगे।

मैं भी इस रूप में अच्छी तरह मिला: Elasticsearch delete duplicates

मैं कई संभव परिदृश्यों के बारे में सोच अगर उन विकल्पों में से किसी काम आप को देखने के लिए या कम से कम एक अस्थायी ठीक हो सकता है की कोशिश की।

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