Как искать несколько слов в одном поле на Solr? - PullRequest
0 голосов
/ 11 октября 2018

У меня есть поле в solr типа текстового списка.

field1:{"key1:val1,key2:val2,key3:val3", "key1:val1,key2:val2"}

Я хочу сформировать запрос таким образом, чтобы при поиске key1:val1 and key3:val3 я получал результат, в котором есть обе строки, т.е. key1:val1 and key3:val3.

Как мне сформировать запрос?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Если это значения в многозначном поле, вы не можете - напрямую.Вам нужно будет использовать что-то вроде выделения, чтобы сказать, где Solr соответствует этому.

Невозможно сказать Solr: «Я хочу только значение, совпадающее внутри этого набора значений».

Если это необходимый способ запроса индекса, индексируйте значения как отдельныедокументы вместо этого в отдельной коллекции.В этом случае вам придется вместо этого документы: один с field1:"key1:val1,key2:val2,key3:val3" и один с key1:val1,key2:val2.

0 голосов
/ 11 октября 2018

Вы можете использовать AND с fq.

Как:

fq=key1:val1 AND key3:val3

С этим фильтрующим запросом вы получите только записи, в которых key1 = val1 AND key3 = val3.

...