Solr Search Issue - PullRequest
       1

Solr Search Issue

0 голосов
/ 11 января 2012

Мы храним большое количество твитов и блогов в solr.

Теперь, если пользователь ищет в твиттере упоминание, например, @rohit, записи, которые просто содержат слово rohit, также возвращаются.Даже если мы выполним точное совпадение "@rohit", я понимаю, что это происходит из-за использования WordDelimiterFilterFactory, который разбивается на специальные символы,

 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.WordDelimiterFilterFactory

Как заставить Solr не возвращаться без "@"Я не хочу удалять WordDelimiterFilterFactory, так как splitOnCaseChange и stemEnglishPossessive полезны?Надеюсь, я проясняю.

С уважением,

Рохит

Ответы [ 2 ]

2 голосов
/ 11 января 2012

Если вы установите preserveOriginal = "1", эта проблема должна быть исправлена. Если нет, ваш токенизатор может удалить символ @, поэтому вам нужно выбрать другой, например, solr.WhitespaceTokenizerFactory.

1 голос
/ 14 апреля 2012

Что я хотел бы сделать, это создать новый fieldType с preserveOriginal = "1" в нем.Затем вы можете создать поле копирования в старом fieldType.Таким образом, вы получите две разные версии поля, в которых можно выполнять поиск, просто потому, что иногда вам захочется искать и без «@».Что вы можете сделать тогда, если кто-то ищет с некоторыми специальными символами, такими как '@', заставит их искать в сохраненном исходном поле, в противном случае искать в поле по умолчанию, как обычно.

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