#solr #wildcard
#solr #подстановочный знак
Вопрос:
Я опубликовал документ со значением поля «Торт с ананасом вверх ногами». Я хочу получать запросы для pineapple
, pine*
, *side
pi?????le
, upside down
, , и т.д. Я выбрал, text_en
которое не находит *side
nor pi?????le
.
Какой готовый тип поля даст мне ответы на все вышеперечисленные запросы?
Я использую Solr 7.6.
Ответ №1:
Если вы хотите сохранить все маркеры как есть (как я прокомментировал ваш предыдущий вопрос по этому поводу, text_en
тип содержит основной элемент), используйте тип поля, содержащий только пробел и фильтр нижнего регистра. Вам придется определить это поле самостоятельно.
Я предполагаю, что вы можете использовать text_general
, чтобы получить достаточно приличный ответ (он использует StandardTokenizer, поэтому он будет разделен на несколько случаев больше, чем просто пробел).
Причина в том, что поиск по подстановочным знакам выполняется без выполнения большей части обработки (поскольку невозможно выполнить надлежащую обработку вывода, разделения и т.д. если у вас нет полного токена), поэтому любой поиск по шаблону будет осуществляться по сгенерированному списку токенов после обработки.