2010-08-06 4 views
9

पर फ़ील्ड के लिए मूल्य या कोई मान नहीं है मैं उन प्रविष्टियों के लिए सोलर से पूछताछ करने का प्रयास कर रहा हूं जिनके पास फ़ील्ड में कोई निश्चित मान है या फ़ील्ड के लिए कोई मान नहीं है। अस्वीकृत फ़ील्ड मान स्वयं द्वारा उपयोग किए जाने पर काम करता है लेकिन किसी अन्य चीज़ के साथ संयुक्त होने पर क्वेरी को कोई परिणाम नहीं लौटाता है। नीचे debugQuery सक्षम के साथ एक प्रतिक्रिया है। मैं जिस कॉन्फ़िगरेशन फ़ाइल का उपयोग करता हूं उसे here मिल सकता है।फ़ील्ड के साथ आइटम के लिए सोलर क्वेरी:

<?xml version="1.0"?> 
<response> 
    <responseHeader> 
    <status>0</status> 
    <QTime>3</QTime> 
    <lst name="params"> 
     <str name="facet">true</str> 
     <str name="sort">sort_title asc</str> 
     <str name="fl">id,nid,url,uid</str> 
     <str name="debugQuery">true</str> 
     <str name="facet.mincount">1</str> 
     <str name="facet.sort">true</str> 
     <str name="start">0</str> 
     <str name="bf">recip(rord(created),4.000000,239,239)^200.000000</str> 
     <arr name="fq"> 
     <str>NOT type:article</str> 
     <str>NOT type:insect</str> 
     <str>NOT type:news</str> 
     <str>NOT type:plant</str> 
     <str>im_cck_field_affected_plants:(20 OR -[* TO *])</str> 
     <str>entity:node</str> 
     </arr> 
     <str name="version">1.2</str> 
     <str name="rows">16</str> 
    </lst> 
    </responseHeader> 
    <result name="response" numFound="0" start="0"/> 
    <lst name="facet_counts"> 
    <lst name="facet_queries"/> 
    <lst name="facet_fields"/> 
    <lst name="facet_dates"/> 
    </lst> 
    <lst name="debug"> 
    <null name="rawquerystring"/> 
    <null name="querystring"/> 
    <str name="parsedquery">+MatchAllDocsQuery(*:*) FunctionQuery((239.0/(4.0*float(top(rord(created)))+239.0))^200.0)</str> 
    <str name="parsedquery_toString">+*:* (239.0/(4.0*float(top(rord(created)))+239.0))^200.0</str> 
    <lst name="explain"/> 
    <str name="QParser">DisMaxQParser</str> 
    <str name="altquerystring">org.apache.lucene.search.MatchAllDocsQuery:*:*</str> 
    <arr name="boostfuncs"> 
     <str>recip(rord(created),4.000000,239,239)^200.000000</str> 
    </arr> 
    <arr name="filter_queries"> 
     <str>NOT type:article</str> 
     <str>NOT type:insect</str> 
     <str>NOT type:news</str> 
     <str>NOT type:plant</str> 
     <str>im_cck_field_affected_plants:(20 OR -[* TO *])</str> 
     <str>entity:node</str> 
    </arr> 
    <arr name="parsed_filter_queries"> 
     <str>-type:article</str> 
     <str>-type:insect</str> 
     <str>-type:news</str> 
     <str>-type:plant</str> 
     <str>im_cck_field_affected_plants:20 -im_cck_field_affected_plants:[* TO *]</str> 
     <str>entity:node</str> 
    </arr> 
    <lst name="timing"> 
     <double name="time">3.0</double> 
     <lst name="prepare"> 
     <double name="time">3.0</double> 
     <lst name="org.apache.solr.handler.component.QueryComponent"> 
      <double name="time">2.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.FacetComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.MoreLikeThisComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.HighlightComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.StatsComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.SpellCheckComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.DebugComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     </lst> 
     <lst name="process"> 
     <double name="time">0.0</double> 
     <lst name="org.apache.solr.handler.component.QueryComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.FacetComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.MoreLikeThisComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.HighlightComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.StatsComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.SpellCheckComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     <lst name="org.apache.solr.handler.component.DebugComponent"> 
      <double name="time">0.0</double> 
     </lst> 
     </lst> 
    </lst> 
    </lst> 
</response> 

किसी भी मदद की सराहना की जाएगी।

उत्तर

15

अंत में Google के माध्यम से एक उत्तर खोजने के लिए पर्याप्त प्रश्न का उच्चारण किया गया।

http://osdir.com/ml/solr-user.lucene.apache.org/2009-03/msg00480.html

या नहीं प्रश्नों के रूप में लिखा जा सकता है, एक उदाहरण के रूप मेरे मामले का उपयोग कर:

im_cck_field_affected_plants:20 OR (*:* -im_cck_field_affected_plants:[* TO *]) 
+0

यह मैं बहुत मदद था - धन्यवाद। क्या आप इसे याद रखने के लिए Google में किस कीवर्ड का उपयोग करते हैं, उसे याद कर सकते हैं? –

+0

उपवास। अपने प्रश्न का उत्तर देने के लिए वापस आने के लिए समय निकालने के लिए धन्यवाद। – sbrattla

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