Поиск нескольких терминов в поле - PullRequest
2 голосов
/ 10 июля 2009

Я хочу сделать запрос AND, скажем 'foo AND bar', в Lucene.NET. У меня есть поле WholeIndex, в котором проиндексирован весь документ, и я хочу, чтобы Lucene выполнял поиск по всему документу. До этого это довольно легко, но есть ограничение.

Я хочу, чтобы оба термина 'foo' и 'bar' находились в одном поле.

Есть ли простой способ сделать это без запроса индекса для полного списка полей и поиска по каждому полю?

Редактировать: То, что я хочу знать, это то, есть ли способ указать Lucene выполнить поиск по каждому полю, не зная всех полей моего индекса. Автоматизированный способ поиска:

"field1: (+ foo + bar) field2: (+ foo + bar) ... fieldN: (+ foo + bar)"

1 Ответ

2 голосов
/ 10 июля 2009

Вы можете использовать GetFieldNames , чтобы получить все имена полей, а затем программно перейти по списку и сгенерировать запрос, подобный тому, который вы написали, используя BooleanQuery .

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