Как индексировать строки в зависимости от значений столбцов с помощью Hibernate Search / Lucene?

Можно ли использовать hibernate search / lucene для индексации некоторой сущности на основе значений некоторых полей?

Например, возьмем следующий пример: у товара есть несколько свойств со значениями. например Имена свойств могут быть цветом, суммой, датой заказа, ценой и т. д.

PRODUCT (
   name
   description
   ...
)

PROPERTY (
    id
    name
    value
    fk_product
 )

И я хочу индексировать только ПРОДУКТЫ, у которых есть свойство ЦВЕТ, но я никогда не хочу искать по размеру свойства.

Кроме того, можно ли индексировать мои продукты с помощью поиска в спящем режиме и иметь возможность запрашивать только определенные имена свойств (например, поля в проекте)?

Пример такого запроса: color: blue, который вернет мне все продукты, у которых есть свойство name = color со значением = blue.

Из справочного документа я ничего не нахожу, но, возможно, мне следует использовать фильтры, чтобы ограничить запросы в зависимости от значений некоторых полей!


person HeDinges    schedule 30.12.2009    source источник
comment
Это похоже на stackoverflow.com/questions/999936/query-in-lucene Но это два шага решение и не решает мои пожелания в запрашиваемом формате.   -  person HeDinges    schedule 06.01.2010


Ответы (1)


Перечитав справочную документацию, я понял, что мне нужно использовать ClassBridge. (раздел 4.2.2.3 в документации) Это как раз решает мою проблему!

Пример документации прост.

person HeDinges    schedule 14.01.2010