SOLR - поиск записи на основе поля SOLR в переданной строке - PullRequest
1 голос
/ 09 января 2020

У меня есть строковое поле CSV, скажем «field1» в SOLR, которое может иметь значение, подобное 1,5,7

Теперь я хочу получить эту запись, если передам значения:

1,5,6,7 ИЛИ 1,5,7,10 ИЛИ 1,5,7

По сути, любой из этих входов должен вернуть мне эту запись из SOLR.

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

1 Ответ

0 голосов
/ 13 января 2020

Стандартный токенайзер (используемый в текстовых полях, таких как text_general) не будет разделяться запятыми, если между символами нет пробела.

Это означает, что «1,2,3» будет проиндексирован как один токен («1,2,3»), но он будет индексировать «1, 2, 3» как три токена («1») , "2", "3").

Если вы можете убедиться, что после запятой в значении, которое вы индексируете, и в значении, которое вы используете в своем поисковом запросе, будет пробел , вы сможете достичь того, что Вы хотите, индексируя свое поле как text_general.

Вы можете использовать Экран анализа в Solr, чтобы увидеть, как будет индексироваться и искать ваше значение, и посмотреть, дает ли какой-либо из встроенных типов полей то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...