dongzouqie4220
dongzouqie4220
2015-05-02 12:23

Solr - 如何在不通过查询字段的情况下搜索所有字段?

已采纳

I have tried as below,

<field name="collector" type="text_general" indexed="true" stored="false"  multiValued="true" />

and copy all my fields to copyField as below,

<copyField source="fullname" dest="collector"/>
<copyField source="email" dest="collector"/>
<copyField source="city" dest="collector"/>

and also I have put all copyField tags below

<fields>

</fields>

tags. But I cant search in all fields. I have to pass fullname before query like,

q=fullname:Mayur

I want search by,

q=Mayur

And I should search all fields contains Mayur word.

Help me please

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • duanjian7617 duanjian7617 6年前

    make sure the fields have stored=true

    <field name="field_name" type="text_general" indexed="true" stored="true"/>
    

    True if the value of the field should be retrievable during a search.

    Use the Default Search Field : The is used by Solr when parsing queries to identify which field name should be searched in queries where an explicit field name has not been used.

    <defaultSearchField>collector</defaultSearchField>
    

    in your schema.xml

    点赞 评论 复制链接分享
  • duanganleng0577 duanganleng0577 2年前

    This has been deprecated in solr 7: https://lucene.apache.org/solr/guide/7_0/major-changes-in-solr-7.html It's recommended to use df parameter.

    点赞 评论 复制链接分享