索引的动态字段的Solr搜索查询

Sel*_*wyn 10 solr field dynamic solrnet

我正在我的项目中实现solr搜索.我有一个问题,如何搜索在solr索引中创建的动态字段例如: - 这是在索引中形成的标记

我正在尝试使用此查询从solr搜索Employee_*= 172

如果搜索方式不正确,请帮助我.

Mau*_*fer 15

在查询中,你需要准确地定义你想搜索什么具体的领域,例如Employee_a,Employee_b(或任何动态字段你使用).您不能通过在查询中使用字段名称中的通配符来搜索所有动态字段.


use*_*447 7

这是一个解决方法:

  • 创建一个(静态)copyField
  • 将动态字段复制到(静态)copyField中
  • 查询copyField

您的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"/>
Run Code Online (Sandbox Code Playgroud)

现在您可以通过以下方式查询solr:

select?q=emp_static:"172"
Run Code Online (Sandbox Code Playgroud)

您甚至可以调整它,而不是存储/索引动态字段(因为您可能不会查询它...)