Apache Solr ищет строку во всей коллекции без указания имени поля - PullRequest
0 голосов
/ 06 февраля 2019

Я ищу способ поиска по заданной строке во всей коллекции.Я упомянул Правильный вариант использования параметра String в функции SetQuery SolrQuery?

Приведенный пример работает для сценария, подобного следующему: query.setQuery("fieldName":"value"), но он не работает для query.setQuery("*value*").В моем случае я не хочу указывать имя поля, и оно должно искать всю коллекцию независимо от имени поля, которое имеет это значение.Есть ли другой способ для этого сценария?

1 Ответ

0 голосов
/ 06 февраля 2019

Создайте поле для копирования с именем "text" в schema.xml и скопируйте в него все поля.

<copyField source="field1" dest="text"/>

Чтобы установить поле поиска по умолчанию в файле solrconfig.xml в / обработчике запроса запросаили как IntParams.

<requestHandler name="/query" class="solr.SearchHandler">
   <lst name="defaults">
     <str name="echoParams">explicit</str>
     <str name="wt">json</str>
     <str name="indent">true</str>
     <str name="df">text</str>
   </lst>
</requestHandler>

<initParams path="/update/**,/query,/select,/tvrh,/elevate,/spell,/browse">
  <lst name="defaults">
    <str name="df">text</str>
  </lst>
</initParams>
...