1

我已经为我的表编制了索引,并且能够在 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"/>
4

1 回答 1

2

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

*还不支持带有源的复制字段。
JIRA SOLR-4729还没有发布,但是你可以试试这个补丁。

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

于 2013-07-09T07:04:42.577 回答