Solr 5 как искать в определенном поле

Я использую Solr версии 5 для поиска данных. Я использую приведенный ниже запрос, который ищет ключевое слово во всех полях.

http://localhost:8983/solr/document/select?q=keyword1+keyword2&wt=json

Может ли кто-нибудь предложить мне запрос для поиска ключевого слова только в поле title.

Спасибо.


person Kalpesh    schedule 25.12.2015    source источник


Ответы (3)


использовать

   http://localhost:8983/solr/document/select?q=title:*yourkeyword*&wt=json

или для точного соответствия

   http://localhost:8983/solr/document/select?q=title:"yourkeyword"&wt=json
person Azat Nugusbayev    schedule 25.12.2015
comment
У меня есть несколько ключевых слов, разделенных пробелом, например keyword1 keyword2. Как я буду это искать? - person Kalpesh; 26.12.2015
comment
что-то вроде q=title:"keyword1" OR title:"keyword2" - person Azat Nugusbayev; 26.12.2015
comment
Я могу заставить его работать с select?q=title:keyword1 keyword2&wt=json, но сначала не отображаются результаты с ключевыми словами с наибольшим количеством совпадений. Вместо этого, когда я использую select?q=keyword1 keyword2&wt=json, он показывает результаты в идеальном порядке. Спасибо. - person Kalpesh; 26.12.2015

Вы не можете искать ключевое слово во всех полях без дополнительной работы:

Как выполнить поиск по всем полям в SOLR которые содержат ключевые слова,.?

Параметр "q" содержит строку запроса, и для стандартного парсера это означает, что вы должны указать поле через двоеточие, как в

fieldname:searchterm

или стандартный анализатор будет использовать поле по умолчанию. Поле по умолчанию указано в параметре «df», и если вы не изменили свой solrconfig.xml, вы будете искать в «текстовом» поле, потому что вы найдете что-то вроде

<requestHandler name="/select" class="solr.SearchHandler">
  <lst name="defaults">
    <str name="df">text</str>
  </lst>
</requestHandler>

P.S. Если вы хотите выполнить поиск во всех полях, вам нужно либо копировать все field-content в одно поле, или вы должны использовать определенный анализатор запросов, например dismax parser, где вы можете перечислить все свои поля в параметре "qf".

П.П.С. Вы не можете искать во всех полях, но можете выделить во всех полях :-)

person Karsten R.    schedule 26.12.2015

Лучший способ — запустить запрос из консоли администратора. Когда мы запускаем его, он также предоставляет фактически выполненный SQL-запрос. Просто скопируйте запрос и используйте его.

О вопросе: поиск определенного значения поля из Solr. В консоли администратора найдите текстовое поле «Q». напишите ваше поле = значение ИЛИ ваше поле: значение. Нажмите кнопку «Выполнить запрос». Вверху справа будет доступен SQL.

Сгенерированный запрос: ......select?indent=on&q=YOURFIELD:"VALUE"&wt=json

person Sonu    schedule 05.07.2017