Запрос поиска 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"
Вы можете даже настроить его и не хранить/индексировать динамическое поле (так как вы не можете запросить его...)