Solr: Как найти полное совпадение в текстовом поле? Есть ли скрытый оператор равенства ()? - PullRequest
4 голосов
/ 15 июня 2011

слишком просто описать:

q = mydynamicfield_txt: "video"

Я хочу только попадания, когда mydynamicfield - это точный"видео.как подавлять попадания, где «видео» является только частью поля (например, «домашнее видео»).

Это поддерживается с Solr3.1 из коробки, или я должен добавить свой собственный специальные скобки , например "SOLRSTARTSOLR video SOLRENDSOLR" в моем указателе, чтобы позже найти мой термин между "START" и "END". Вид ручного закрепления регулярных выражений.

Это PITA, потому что оно требует специальногообработка в index / gui и выделение разрывов.

Куда идти?

С уважением

Петр (= PA =)

1 Ответ

0 голосов
/ 16 июня 2011

Одно решение для создания необработанного (KeywordAnalyzed) поля и поиска по нему - весь ваш текст будет отличаться от токена в индексе Solr. Другое решение состоит в том, чтобы написать фильтр, который будет считывать количество токенов из индекса и сравнивать с токенами запроса, то есть фильтровать объекты, где doc_tokens> query_tokens, предполагая, что все токены запроса совпадают.

...