0

我已通过以下方式将多值字段添加到 schema.xml:

<field name="text_qs" type="text" indexed="true" stored="false" multiValued="true"/>

并添加了两个字段:

<copyField source="name" dest="text_qs"/>
<copyField source="symbol" dest="text_qs"/>

之后我执行 solr 的索引,重新启动它,但我仍然无法在这个字段中搜索text_qs。我通过text_qs:ge在 solr 管理员http://localhost:8061/solr/admin/中搜索来检查它。

你能问别人为什么吗?

一般来说,我尝试在某些字段中创建搜索。因为现在我们可以在 text_def 字段中进行搜索,即<defaultSearchField>text_def</defaultSearchField>. 这个字段 text_def 以类似的方式定义,例如:

<field name="text_def" type="text" indexed="true" stored="false" multiValued="true"/>

它也没有copyFields:

<copyField source="name" dest="text_def"/>
<copyField source="symbol" dest="text_def"/>
<copyField source="numb" dest="text_def"/>
....

所以现在当我们键入时,我们'ge''ge'默认搜索字段 text_def 中搜索它,我们在字段中搜索'name', 'symbol', 'numb',.... 但我们只想在'name'and中搜索'symbol'。这就是我尝试创建字段的原因text_qs

这正确吗?

4

2 回答 2

0

尝试更改存储=true

<field name="text_qs" type="text" indexed="true" stored="true" multiValued="true"/>

如果字段的值应该在搜索期间可检索,则为真。

于 2015-05-08T10:13:29.200 回答
0

很抱歉造成混淆。事实证明,问题在于索引。执行索引的脚本对这种情况没有用,我不得不使用另一个脚本。感谢帮助!

于 2015-05-08T12:05:45.163 回答