Запрос поиска Solr для индексированных динамических полей

Я реализую поиск solr в моем проекте. У меня есть один вопрос относительно того, как я могу найти динамические поля, созданные в индексе solr Например: - это тег, который формируется в индексе

И я пытаюсь выполнить поиск из solr, используя этот запрос Employee_ * = 172

Пожалуйста, помогите мне в этом, если неправильный способ поиска.

Ответ 1

В ваших запросах вам нужно точно определить, какие конкретные поля вы хотите искать, например. Employee_a, Employee_b (или любые используемые вами динамические поля). Вы не можете искать во всех динамических полях с помощью подстановочных знаков в имени поля в запросах.

Ответ 2

Здесь обход:

  • создать (статический) 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"/>

Теперь вы можете запросить solr через:

select?q=emp_static:"172"

Вы можете даже настроить его и не хранить/индексировать динамическое поле (так как вы не можете запросить его...)