2011-11-28 5 views
9

उदाहरण के लिए, मेरे पास खोज के लिए कीवर्ड है: 'बास्केट बॉल'। यह प्रश्न क्या है जो 'बास्केट बॉल' वाले सभी फ़ील्ड को प्राप्त कर सकता है। मैंने * बास्केट बॉल का उपयोग करने की कोशिश की है, लेकिन यह काम नहीं करता है।मैं एसओएलआर में सभी फ़ील्ड कैसे खोज सकता हूं जिसमें कीवर्ड शामिल हैं।

उत्तर

10

Schema.xml डिफ़ॉल्ट खोज क्षेत्र परिभाषित करता है।

<copyField source="field1" dest="text"/> 
<copyField source="field2" dest="text"/> 
<copyField source="field3" dest="text"/> 

और क्वेरी q=basket ball काम करना चाहिए।

+2

यह सोलर 3.6 और बाद में अब सत्य नहीं है। ऐसा करने के बाद https://issues.apache.org/jira/browse/SOLR-2724 – kellyfj

3

आपको एक क्वेरी पार्सर का उपयोग करने की आवश्यकता है जो कई क्षेत्रों में टोकन भेजने में सक्षम है, जैसे कि (ई) निष्कासन। http://solr/select?q={!dismax}Basket Ball&qf=field1^1 field2^1

dismax विन्यास पर अधिक जानकारी के लिए http://wiki.apache.org/solr/DisMaxQParserPlugin#qf_.28Query_Fields.29 देखें: उदाहरण के लिए यदि आप दो क्षेत्रों field1 और field2 है।

<defaultSearchField>text</defaultSearchField> 

आप इस डिफ़ॉल्ट खोज क्षेत्र के लिए सभी क्षेत्रों कॉपी कर सकते हैं -

+0

को ,. ? और चरित्र^1 मतलब क्या है। – Praditha

+0

हां आपको हर फ़ील्ड निर्दिष्ट करने की आवश्यकता है। '^' चरित्र आपको अपने क्षेत्र में वजन देने की क्षमता देता है। उदाहरण के लिए, यदि 'फ़ील्ड 1' में एक मैच 'फ़ील्ड 2' में एक मैच के रूप में दोगुना होना चाहिए, तो आप 'qf = field1^2 field2^1' का उपयोग कर सकते हैं। – jpountz

4

डिफ़ॉल्ट खोज क्षेत्र (3.6 के बाद से) अब solrconfig.xml में परिभाषित किया गया है

उदा solrconfig.xml कि Solr साथ जहाजों निर्देशिका आप

<initParams path="/update/**,/query,/select,/tvrh,/elevate,/spell"> 
    <lst name="defaults"> 
     <str name="df">allText</str> 
    </lst> 
    </initParams> 

की तरह कुछ आप बदल सकते हैं देखेंगे configsets में allText अगर इस तरह, यह अभी भी क्षेत्रों है कि खोज में सही हो जाएगा निर्दिष्ट करना होगा yourDefaultSearchFieldName

+0

देखें, त्रुटि देने के दौरान 'अपरिभाषित फ़ील्ड टेक्स्ट' –

+0

सोलर का कौन सा संस्करण आप उपयोग कर रहे हैं? – kellyfj

+0

मैं सोलर 5.3 –