Вы можете импортировать все данные в поле по умолчанию .Тогда вам не нужно явно упоминать имена полей.(Хотя вы все еще можете, если хотите)
Значение по умолчанию schema.xml
с Solr уже содержит пример использования такого поля "catchall":
Сначала поле должно быть объявлено как любоедругое поле:
<field name="text" type="text_general" indexed="true"
stored="false" multiValued="true"/>
Тогда это новое поле должно быть объявлено полем по умолчанию.Всякий раз, когда ни одно конкретное поле не ищется, оно будет искать:
<defaultSearchField>text</defaultSearchField>
Вам также понадобятся некоторые операторы copyField
, которые копируют все существующие поля в поле catchall:
<copyField source="cat" dest="text"/>
<copyField source="name" dest="text"/>
<copyField source="my_special_field_1" dest="text"/>
<copyField source="my_special_field_2" dest="text"/>
...
Таквсякий раз, когда поле my_special_field_1
индексируется, его значение равно , а также добавляется в поле text
.
В качестве ярлыка вы можете скопировать все поля в поле text
с помощью
<copyField source="*" dest="text"/>
После этого вы можете выполнять поиск без указания какого-либо поля.