我正在我的项目中实现solr搜索。 关于如何搜索在solr索引中创建的动态字段,我有一个问题 例如: - 这是在索引
中形成的标记我正在尝试使用此查询从solr搜索Employee_ * = 172
如果搜索方式不正确,请帮助我。
答案 0 :(得分:15)
在您的查询中,您需要准确定义要搜索的具体字段,例如Employee_a
,Employee_b
(或您使用的任何动态字段)。您无法在查询中的字段名称中使用通配符来搜索所有动态字段。
答案 1 :(得分:7)
这是一个解决方法:
您的schema.xml可能如下所示:
<dynamicField name="Employee_*" type="string" indexed="true" stored="true"/>
<field name="emp_static" type="string" indexed="true" stored="true" multiValued="true"/>
<copyField source="Employee_*" dest="emp_static"/>
现在您可以通过以下方式查询solr:
select?q=emp_static:"172"
您甚至可以调整它,而不是存储/索引动态字段(因为您可能不会查询它...)