如何在没有键的情况下在solr中查询

时间:2015-08-18 13:29:25

标签: solr solr-query-syntax

我是solr的初学者,我发现了查询

http://localhost:8983/solr/collection1/select?q=book%0A&wt=json&indent=true

与solr包附带的默认集合一起正常工作我尝试自己创建一个新集合并查询它我的查询是:

http://localhost:8983/solr/newcollection/select?q=book1&wt=json&indent=true无效?

所以如何使这个查询工作我的架构是

    <fieldType name="string" class="solr.StrField"  />
    <fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
    <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
    <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>
    <fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
    <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" >
    </fieldType>

    <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>
    <fieldtype name="binary" class="solr.BinaryField"/>

    </types>

    <fields><field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="title" type="text_general" indexed="true" stored="true" multiValued="false"/>
   <field name="genere" type="text_general" indexed="true" stored="true"/>
   <field name="description" type="text_general" indexed="true" stored="true" multiValued="false"/>
   <field name="comments" type="text_general" indexed="true" stored="true" multiValued="true"/>
   <field name="author" type="text_general" indexed="true" stored="true" />
   <field name="publications" type="text_general" indexed="true" stored="true" multiValued="true" />

    </fields>

2 个答案:

答案 0 :(得分:0)

我们必须为SOLR定义默认搜索字段,以便在不指定查询中的任何字段的情况下使用。

在solrconfig.xml中定义如下

<requestHandler name="/select" class="solr.SearchHandler">
    <lst name="defaults">
         <str name="echoParams">explicit</str>
         <int name="rows">10</int>
         <str name="df">description comments </str>
    </lst>
</requestHandler>

答案 1 :(得分:0)

另一种选择是使用edismax并指定要使用的字段。例如,您可以发出如下查询:

http://localhost:8983/solr/newcollection/select?q=book1&wt=json&indent=true&qf=description条评论&deftype = edismax