我已通过以下方式将多值字段添加到架构.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
。 我通过 solr 管理 http://localhost:8061/solr/admin/中的搜索text_qs:ge
检查了它。
你能问问为什么吗?
通常,我尝试在某些字段中创建搜索。因为现在我们可以在字段中搜索text_def,这是<defaultSearchField>text_def</defaultSearchField>
. 这个字段text_def的定义方式类似,如下所示:
<field name="text_def" type="text" indexed="true" stored="false" multiValued="true"/>
它只是没有复制字段:
<copyField source="name" dest="text_def"/>
<copyField source="symbol" dest="text_def"/>
<copyField source="numb" dest="text_def"/>
....
所以现在当我们输入'ge'
时,我们在默认搜索字段text_def中搜索此'ge'
,并在字段中搜索'name', 'symbol', 'numb',....
但是我们只想在'name'
和'symbol'
中进行搜索。这就是为什么我尝试创建字段text_qs
.
这正确吗?
尝试存储更改=true
<field name="text_qs" type="text" indexed="true" stored="true" multiValued="true"/>
如果字段的值在搜索期间应可检索,则为 True。
很抱歉混淆了。 事实证明,问题出在索引上。执行索引的脚本在这种情况下没有用,我不得不使用另一个脚本。 感谢您的帮助!