2014-02-20 3 views
0

를 통해 쿼리 SOLR 나는이처럼 보이는 문서가 :여러 필드 구문

나는의 SOLR에 쿼리 PARAM 통과
<date name="added">2014-02-17T17:17:01Z</date> 
<arr name="authorids"><str>57373</str></arr> 
<str name="body">German chancellor Angela Merkel has proposed some stuff, well done her.</str> 
<str name="contentid">9</str> 
<arr name="countryids"><str>37,38,119</str><str/><str/></arr> 
<str name="excerpt">German chancellor Angela Merkel has proposed setting upsome stuff that will do really well.</str> 
<str name="key">146</str> 
<str name="layoutid">1</str> 
<date name="modified">2014-02-17T17:17:05Z</date> 
<date name="published">2014-02-17T17:17:00Z</date> 
<str name="shortcut">1</str> 
<str name="sitecode">GIR</str> 
<str name="statusid">5</str> 
<str name="title">Merkel backs separate EU internet infrastructure</str> 
<str name="uid">146</str> 
<str name="url">http://127.0.0.1:84/something/123/edit/</str> 

: 위의 문서와 일치해야하는

q=statusid:5 AND (title:"Merkel" OR body:"Merkel" OR excerpt:"Merkel") AND sitecode:GIR 

, 반환 된 결과가 없으며 이유가 없습니다. solr 문서는 solr을 적절하게 질의하는 방법에 대해 아주 가벼운 것 같습니다. 문서에 대한

내 스키마는 다음과 같습니다

<fields> 
    <field name="key"  type="string" indexed="false" stored="true" required="true" /> 
    <field name="url"  type="string" indexed="false" stored="true" required="false" /> 
    <field name="sitecode" type="string" indexed="true" stored="true" required="true" /> 
    <field name="authorids" type="string" indexed="true" stored="true" required="false" multiValued="true" /> 
    <field name="tagids"  type="string" indexed="true" stored="true" required="false" multiValued="true" /> 
    <field name="countryids" type="string" indexed="true" stored="true" required="false" multiValued="true" /> 
    <field name="modified" type="date" indexed="true" stored="true" required="true" /> 
    <field name="published" type="date" indexed="true" stored="true" required="true" /> 
    <field name="added"  type="date" indexed="true" stored="true" required="true" /> 
    <field name="title"  type="text" indexed="true" stored="true" required="true" /> 
    <field name="excerpt" type="text" indexed="true" stored="true" required="true" /> 
    <field name="body"  type="text" indexed="true" stored="true" required="true" /> 
    <field name="layoutid" type="string" indexed="false" stored="true" required="true" /> 
    <field name="shortcut" type="string" indexed="false" stored="true" required="true" /> 
    <field name="statusid" type="string" indexed="false" stored="true" required="true" /> 
    <field name="contentid" type="string" indexed="false" stored="true" required="true" /> 
    <field name="uid"  type="string" indexed="true" stored="true" required="true" /> 
</fields> 
+0

아아 그래서 나는'statusid' 필드를 색인화하지 않았기 때문입니다. – Jarede

답변

0

YAA합니다. statusid 필드 때문입니다. indexed="false" 인 경우 필드에 대해 쿼리 할 수 ​​없습니다. 쿼리에서 statusid 부분을 제거하기 만하면 쿼리가 작동합니다.

q=(title:"Merkel" OR body:"Merkel" OR excerpt:"Merkel") AND sitecode:GIR