0

我是 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>
4

2 回答 2

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>
于 2015-08-18T19:28:26.057 回答
0

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

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

于 2016-02-06T20:14:59.670 回答