休眠搜索 - 禁用_source

Hibernate Search - Disable _source

我正在使用 Postgres 数据库和带有 Elastic Search(ES) 后端的 Hibernate Search (6.0.3)。我只想在 ES 中存储 索引 ,默认情况下 Hibernate Search 也存储索引字段的数据(在 _source ).

如何在没有数据的情况下在 Hibernate Search(针对 Elasticsearch 后端)中创建索引 (_source)?

编辑: Disabling the _source field from Hibernate Search configuration is possible starting with Hibernate Search 6.1.0.Beta1: https://docs.jboss.org/hibernate/search/6.1/reference/en-US/html_single/#_custom_index_mapping


仅适用于 Hibernate Search 6.0 的旧答案:

如果您的意思是 disabling the _source field,目前 Hibernate Search 中没有内置的功能。

您可以 disable automatic index creation 并自己创建索引及其映射,将 mappings._source 设置为 false,但这会令人不快,因为这需要列出您的每个字段指数.

应该可以在 Hibernate Search 本身中添加一个设置来禁用它创建的索引中的源,就像 existing setting to mark the mapping as dynamic 一样。它可能不会太难,因为 Hibernate Search 本身并不直接依赖源代码(投影除外,但您可能不需要它们)。

如果你想要这样的设置,我鼓励你open a ticket