Hibernate Search - как динамически добавить сортируемое поле в индекс? - PullRequest
0 голосов
/ 25 апреля 2019

Мне известно о аннотации @SortableField, а также о методе MetadataProvidingFieldBridge.configureFieldMetadata, который предоставляет способы указания полей как сортируемых в HS 5.

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

Раньше это работало с HS3, когда для сортировки можно было использовать любое поле, но в v5 мы должны заранее сообщить HS о сортируемых полях.

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

1 Ответ

1 голос
/ 25 апреля 2019

Как объяснено здесь , ваше единственное решение - установить для свойства конфигурации hibernate.search.index_uninverting_allowed значение true.Это не очень эффективно, и вы будете получать предупреждения из-за этого, но тогда это было не очень эффективно и в HS3 (он работал так же).Поля, отмеченные @SortableField, все равно получат повышение производительности и не вызовут предупреждение.

Мы планируем добавить лучший, более эффективный способ сортировки по динамическим полям в Hibernate Search 6.

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