2012-05-14 4 views
2

Что такое интенсификация индекса = Index.YES и store = Store.YES на @Field. В конце (когда выполняется поиск) будут ли эти данные загружаться из базы данных (поиск по индексу и загрузка результатов из базы данных)? Зачем мне хранить данные в индексе?Hibernate Search (Store and Index)

Или мое понимание не так?

+0

Почему вы не читаете [javadoc] (http://docs.jboss.org/hibernate/search/4.0/api/org/hibernate/search/annotations/Field.html)? – Bohemian

+2

На самом деле я сделал это, но это просто не разъясняет так много: Возвращает перечисление {@code Index}, определяющее, нужно ли индексировать значение. По умолчанию используется {@code Index.YES} и Возвращает перечисление {@code Analyze}, определяющее, следует ли анализировать значение или нет. По умолчанию используется {@code Analyze.YES}. –

ответ

5

магазин: укажите, сохраняется ли свойство в индексе Lucene. Вы можете сохранить значение Store.YES (потребляя больше места в индексе, но разрешая проецирование, см. Раздел 6.1.2.5, «Проецирование» для получения дополнительной информации), сохранить его в сжатом виде Store.COMPRESS (это потребляет больше ЦП), или избегать хранения Store.NO (это значение по умолчанию). Когда свойство сохраняется, вы можете извлечь его из документа Lucene (обратите внимание, что это не связано с индексированием элемента или нет).

index: описать, как элемент индексируется (т. Е. Процесс, используемый для индексации свойства и типа хранилища информации). Различными значениями являются Index.NO (индексирование, т.е. не может быть найдено по запросу), Index.TOKENIZED (используйте анализатор для обработки свойства), Index.UN_TOKENISED (без предварительной обработки анализатора), Index.NO_NORM (не хранить данные нормализации). Значение по умолчанию TOKENIZED.

По: http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/4.2/html/Hibernate_Search_Reference_Guide/Hibernate_Search-Mapping.html

+2

Сохранение значения в индексе также требуется для сортировки результатов запроса. – mdma

+2

@mdma Нет необходимости хранить только для сортировки, https://forum.hibernate.org/viewtopic.php?f=9&t=999211&view=next#p2417036. – sp00m

+0

для поиска в спящем режиме 5.7.Финал (последний со времени написания) ваш ответ неверен :) – niceman

0

Я думаю, что документация вполне понятно - http://docs.jboss.org/hibernate/search/4.1/reference/en-US/html_single/#basic-mapping

кроме того, что хранение данных индекса в индексе Lucene требуется, если вы хотите использовать функцию проецирования. Опять же, это объясняется в документации.

+0

В зависимости от используемой вами версии поиска вы можете выбрать соответствующую документацию здесь - http://www.hibernate.org/subprojects/search/docs – Hardy