【问题标题】:solr doesn't search in all fieldssolr 不会搜索所有领域
【发布时间】:2013-07-06 15:38:34
【问题描述】:

我已经为我的表建立了索引,并且能够在 q 参数中进行搜索,例如

q=field:*

q=field:parameter

q=*:* ( displays all results )

但是当我这样查询时

q=*:parameter

我明白了

undefined field *

如何在所有字段中搜索并使用相同的查询(即 q=*:parma )并使其工作?

这是我的 schema.xml

<field name="id" type="int" indexed="true" stored="true"/>

<field name="enrol_no" type="text" indexed="true" stored="true"/>
<field name="name" type="text" indexed="true" stored="true"/>
<field name="addr" type="text" indexed="true" stored="true"/>
<field name="phno" type="text" indexed="true" stored="true"/>
<field name="email_id" type="text" indexed="true" stored="true"/>
<field name="spec" type="text" indexed="true" stored="true"/>
<field name="state" type="text" indexed="true" stored="true"/>
<field name="dob" type="text" indexed="true" stored="true"/>
<field name="gender" type="text" indexed="true" stored="true"/>
<field name="placeofpractice" type="text" indexed="true" stored="true"/>
<!--Changes end / -->
<field name="all" type="text" indexed="true" stored="true" multiValued="true"/>
<copyField source="*" dest="all"/>

【问题讨论】:

    标签: solr lucene indexing


    【解决方案1】:

    Solr 不允许在字段搜索中使用 * 作为所有字段的替换。
    JIRA SOLR-4493,但也没有修复它的计划。
    您需要使用 copyfield 指令将要搜索的字段复制到单个字段并在该字段上进行搜索。

    还不支持带有源* 的copyfield。
    JIRA SOLR-4729 尚未发布,但您可以尝试该补丁。

    您必须为所有传入字段添加单个字段或使用单个字段。

    【讨论】:

    • 我已经添加了复制字段以及我的原始架构,我已经用我的 schema.xml 编辑了帖子,你能检查它是否正确
    • 还有一个问题,如果我必须搜索同一字段的多个单词,是否有必要将其包含在括号中?
    猜你喜欢
    • 1970-01-01
    • 2013-02-16
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    相关资源
    最近更新 更多