Что мне нужно сделать, когда мне нужно хранить больше информации в индексе lucence.net? - PullRequest
1 голос
/ 24 марта 2011

В Lucene мне нужно добавить информацию о посте для поиска. Для лучшего поиска я добавляю теги name или другую информацию, чтобы сделать поиск лучше. Какой вариант я выбираю, когда у меня есть два возможных варианта решения этой проблемы.

Добавьте теги к содержанию или выдержке из моего поста.

Или создайте новый индекс, чтобы решить ту же головоломку.

Что ж, мне нужно знать, что отличается, если я добавлю их в существующий индекс или создам новый индекс в lucene для хранения другого вида информации.

1 Ответ

0 голосов
/ 24 марта 2011

Вы должны добавить свои теги в отдельное поле tag с токенами.

Типичный запрос будет выглядеть примерно так:

content:(+honda +civic) +tag:red +tag:hatchback

Первые два термина (honda иcivic) вводятся пользователем, а вторые два термина (red и hatchback) будут выбраны из списка тегов.

Если вы хотите поддерживать теги, содержащие пробелы, выпридется свернуть свой собственный токенайзер, создав подклассы CharTokenizer: Фразы поддержки Lucene.Net ?: Каков наилучший подход к токенизации данных, разделенных запятыми (атомарно) в полях во время индексации?

+tag:"5 door"

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

...