атрибут магазина поля люцены - PullRequest
12 голосов
/ 15 ноября 2010

Существует конструктор lucene Field:

Field(String name, String value, Store store, Index index)

Например, я могу создать новое поле с помощью:

Field f1 = new Field("text", "The text content", Field.Store.YES, Field.Index.ANALYZED);

Я не совсем уверен в значении четвертогопараметр: Index

Если я установлю его на Index.No, то нужно ли добавлять это поле как «поле»?

Поскольку, по моему мнению, однажды атрибут объявляетсякак поле, оно должно быть проиндексировано, если нет, то почему вы объявляете его как поле?

В чем разница между запросом и поиском?

Ответы [ 2 ]

21 голосов
/ 15 ноября 2010

Сохраненные поля - это то, что возвращается, когда вы просите Lucene вернуть вам документ . Они содержат исходное значение поля без анализа. Вы можете использовать их для представления документа пользователям (не обязательно во всех полях).

Сохраненные поля, которые не проиндексированы, полезны для хранения метаданных о документе, который пользователь не будет использовать для запроса индекса. Примером может служить идентификатор базы данных, откуда приходит документ. Этот идентификатор никогда не будет использоваться пользователем, так как он не знает об этом, поэтому, как правило, его бесполезно индексировать. Но если вы храните его, вы можете использовать его для сбора дополнительной информации из вашей базы данных во время выполнения.

Разница между запросом и поиском довольно субъективна. Для меня поиск действительно является общим актом поиска в индексе, в то время как запрос является фактической строкой запроса, используемой для поиска в индексе .

21 голосов
/ 15 ноября 2010

Как упомянуто в FAQ по Lucene :

В чем разница между сохранением, токенизацией, индексированием и вектором?

  • Сохранено = как есть значение, сохраненное в индексе Lucene
  • Поле Tokenized = анализируется с помощью указанного анализатора - испускаемые токены индексируются
  • Индексируется = текст (либо как есть)с полями ключевых слов, или токены из полей токенов) становятся доступными для поиска (или инвертированными)
  • Vectored = частота термина для документа сохраняется в индексе в легко доступном виде.

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

...