поиск данных импорт импорт - PullRequest
1 голос
/ 02 ноября 2011

Я новичок в Solr.Я хочу искать базу данных.Я могу импортировать значения и индексировать его. Но при поиске кажется, что имя поля необходимо упомянуть в поисковом запросе. Как это можно сделать без указания имен полей.

1 Ответ

0 голосов
/ 02 ноября 2011

Вы можете импортировать все данные в поле по умолчанию .Тогда вам не нужно явно упоминать имена полей.(Хотя вы все еще можете, если хотите)

Значение по умолчанию 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"/>

После этого вы можете выполнять поиск без указания какого-либо поля.

...