SOLR игнорирует запятую и другие знаки препинания при поиске - PullRequest
0 голосов
/ 23 ноября 2010

Я хочу искать 100 000 и 100 000 только путем запроса 100000 (или только путем запроса 100 000).
Можно ли выполнить такой поиск.

Цель этого заключается в том, чтобы пользователь мог добавить запятую в любом месте или вообще не использовать запятую, но в любом случае следует искать строки (100 000 или 100 000) ...

Ответы [ 3 ]

6 голосов
/ 25 ноября 2010

Попробуйте использовать solr.WordDelimiterFilterFactory с catenateNumbers = "1" в индексе и определении запроса вашего поля.

У вас есть несколько документов здесь: WordDelimiterFactory

1 голос
/ 24 ноября 2010

Не знаю, правильно ли это, но, возможно, вы можете написать какую-то фабрику фильтров, где числа всегда индексируются как числа, отформатированные запятыми и без запятых. Или вы можете иметь как индекс & анализатор запросов хранить слово без запятой.

0 голосов
/ 24 ноября 2010

просто удалите, из запроса, если он находится в числе

(если вы используете java на клиенте -> проанализируйте номер и выполните toString)

...