2013-08-12 4 views
7

हर किसी के रूप में आप प्रकार के एक सूचकांक को परिभाषित कर सकते अपनी खोजा मॉडल में बारे में पता है एक टेक्स्ट फ़ील्ड प्रकार और स्ट्रिंग फ़ील्ड प्रकार के बीच मूल अंतर के लिए औरSunspot रेल अंतर के बीच: पाठ एक: <p></p> <pre><code>class Post < ActiveRecord::Base searchable do string :title text :title, :body end </code></pre> मैं खोज की कोशिश की: पाठ के साथ-साथ: स्ट्रिंग, उदाहरण के लिए स्ट्रिंग प्रकार क्षेत्रों

  1. टेक्स्ट फ़ील्ड प्रकार टोकननाइज्ड हैं, और इससे उनके भीतर पूर्ण टेक्स्ट खोज बहुत तेज हो जाती है।
  2. आप ऑर्डर_बी का उपयोग नहीं कर सकते हैं i.e दर्ज किए गए टेक्स्ट पर सॉर्टिंग, और यदि आपको उस फ़ील्ड पर सॉर्टिंग की आवश्यकता है तो आपको इसे स्ट्रिंग के रूप में परिभाषित करने की आवश्यकता है।

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

नोट: मैं यह नहीं कह रहा हूं कि आप एक ही जवाब में सभी मतभेद प्रदान करते हैं, प्रति जवाब एक अंतर भी करेगा और कृपया सुनिश्चित करें कि आप जो अंतर दे रहे हैं वह पहले से ही नहीं दिया गया है।

+0

आप लिंक https://makandracards.com/makandra/10987-scoping-a-sunspot-solr-search-by-text-using-a- पालन कर सकते हैं स्ट्रिंग-फील्ड –

+0

प्रश्न पूछने से पहले उस लिंक को पढ़ें, और मेरे प्रश्न में उस लेख की तुलना में अधिक जानकारी है :) –

+0

क्या आप इनमें से किसी भी फ़ील्ड में 'हेक्स दशमलव' या 'ASCII' खोज कर सकते हैं? –

उत्तर

14

पाठ फ़ील्ड

जब पाठ फ़ील्ड इंडेक्स किए गए, वे अपने घटक शब्द में टूट जाता है और फिर फिल्टर के एक definable सेट का उपयोग संसाधित (Sunspot के डिफ़ॉल्ट Solr स्थापना के साथ, वे सिर्फ कम मामलों रहे हैं) । इस प्रक्रिया को टोकननाइजेशन के रूप में जाना जाता है, और यह पूर्ण टेक्स्ट मिलान का उपयोग करके पाठ फ़ील्ड को खोजने की अनुमति देता है। आप सॉकर विकी http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters पर टोकननाइज़ेशन और उपलब्ध फ़िल्टर विकल्पों के बारे में अधिक पढ़ सकते हैं।

स्ट्रिंग फील्ड्स

स्ट्रिंग क्षेत्रों दुकान स्ट्रिंग डेटा। टेक्स्ट फ़ील्ड से यह अलग कैसे है? एक टेक्स्ट फ़ील्ड टोकननाइज्ड है, जिसका कहना है कि यह अपने घटक शब्दों में टूट गया है; इस तरह फुलटेक्स्ट सर्च काम करता है। दूसरी ओर, स्ट्रिंग फ़ील्ड्स को केवल इंडेक्स किया गया है: अनुक्रमित डेटा बिल्कुल स्ट्रिंग है, शुरुआत से अंत तक।

डॉक्स

https://github.com/sunspot/sunspot/wiki/Setting-up-classes-for-search-and-indexing

+0

के साथ डेटा प्रकार का उपयोग करना चाहिए, आपने नई चीजें जोड़ दी हैं मेरे मौजूदा ज्ञान के लिए, आपको वोट दिया, लेकिन जवाब स्वीकार करने के लिए कुछ समय इंतजार करेंगे। –

+1

धन्यवाद आदमी, अब सब स्पष्ट है – Alexis

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