Hibernate Search 中文操作指南
Appendix A: List of all available configuration properties
A.1. Hibernate Search Engine
hibernate.search.background_failure_handler
在后台进程(主要是索引操作)中发生的任何故障都应通知 FailureHandler 实例。
期望对类型 FailureHandler 的 bean 的引用。
默认为 EngineSettings.Defaults.BACKGROUND_FAILURE_HANDLER ,一个日志处理程序。
hibernate.search.configuration_property_checking.strategy
如何报告配置属性检查的结果。
配置属性检查将检测到从未使用的配置属性,这可能表示存在配置问题。
期望 ConfigurationPropertyCheckingStrategyName 值或此类值的字符串表示形式。
hibernate.search.backend.type
后端的类型。
只有当你在类路径中有多个后端技术时才有用;否则,将自动检测后端类型。
期望得到一个字符串,例如“lucene”或“elasticsearch”。请参阅后端的文档以找到适当的值。
默认值:
如果类路径中只有一种后端类型,则使用该后端作为默认后端。
否则,没有默认值:必须设置此属性。
此配置属性的变体(单击以打开) hibernate.search.backends.<backend-name>.type
A.2. Hibernate Search Backend - Lucene
hibernate.search.backend.analysis.configurer
分析配置程序。
期望对类型 LuceneAnalysisConfigurer 的 bean 的单值或多值引用。
默认为无值。
此配置属性的变体(单击以打开) hibernate.search.backends.<backend-name>.analysis.configurer
hibernate.search.backend.directory.filesystem_access.strategy
如何在目录中访问文件系统。
仅适用于“local-filesystem”目录类型
期望 FileSystemAccessStrategyName 值或此类值的字符串表示形式。
此配置属性的变体(点击打开) hibernate.search.backend.indexes.<index-name>.directory.filesystem_access.strategy
hibernate.search.backends.<backend-name>.directory.filesystem_access.strategy
hibernate.search.backends.<backend-name>.indexes.<index-name>.directory.filesystem_access.strategy
hibernate.search.backend.directory.locking.strategy
锁定目录的方法。
期望一个 LockingStrategyName 值,或这种值得字符串表示。
默认为特定于每个目录类型。
此配置属性的变体(点击打开) hibernate.search.backend.indexes.<index-name>.directory.locking.strategy
hibernate.search.backends.<backend-name>.directory.locking.strategy
hibernate.search.backends.<backend-name>.indexes.<index-name>.directory.locking.strategy
hibernate.search.backend.directory.root
从索引中读取或写入时使用的文件系统根目录。
仅适用于“local-filesystem”目录类型
预期一个表示可读写模式中可访问现有目录的路径的字符串,如“local-filesystem”。
实际的索引文件将在目录 <root>/<index-name> 中创建。
默认为 JVM 工作目录。
默认值:"."
此配置属性的变体(点击打开) hibernate.search.backend.indexes.<index-name>.directory.root
hibernate.search.backends.<backend-name>.directory.root
hibernate.search.backends.<backend-name>.indexes.<index-name>.directory.root
hibernate.search.backend.directory.type
从索引读取或写入时使用的目录类型。
预期一个字符串,如“local-filesystem”。请参阅参考文档获取可用值列表。
默认值:"local-filesystem"
此配置属性的变体(点击打开) hibernate.search.backend.indexes.<index-name>.directory.type
hibernate.search.backends.<backend-name>.directory.type
hibernate.search.backends.<backend-name>.indexes.<index-name>.directory.type
hibernate.search.backend.indexing.queue_count
分配给每个索引(或启用碎片时每个索引的每个碎片)的索引队列数量。
预期一个严格正整数值或一个可解析为整数的字符串。
有关此设置及其影响的更多信息,请参阅参考文档,“Lucene 后端 - 索引”章节。
默认值:10
此配置属性的变体(点击以打开) hibernate.search.backend.indexes.<index-name>.indexing.queue_count
hibernate.search.backends.<backend-name>.indexing.queue_count
hibernate.search.backends.<backend-name>.indexes.<index-name>.indexing.queue_count
hibernate.search.backend.indexing.queue_size
索引队列的大小。
预期一个严格正整数值或一个可解析为整数的字符串。
有关此设置及其影响的更多信息,请参阅参考文档,“Lucene 后端 - 索引”章节。
默认值:1000
此配置属性的变体(点击以打开) hibernate.search.backend.indexes.<index-name>.indexing.queue_size
hibernate.search.backends.<backend-name>.indexing.queue_size
hibernate.search.backends.<backend-name>.indexes.<index-name>.indexing.queue_size
hibernate.search.backend.io.commit_interval
从索引更改到该更改提交之前可以经过多长时间。
仅适用于“近实时”I/O 策略。
这实际上定义了更改可能在“不安全”状态下存在多长时间,在这种状态下,崩溃或电源故障将导致数据丢失。例如:
如果设置为 0,则在后台进程完成一批更改的处理后,更改是安全的。
如果设置为 1000,则在后台进程完成一批更改的处理后,可能会再延迟 1 秒,更改才算安全。不过,它有一个好处:在另一个更改后不到 1 秒发生的索引更改可能会执行得更快。
请注意,单个写操作可能会触发强制提交(例如,ORM 映射器中的 write-sync 和 sync 索引计划同步策略),在这种情况下,您只会在密集索引(批量索引器,…)期间从一个非零提交间隔中受益。
请注意,提交不必为了对搜索查询进行更改而使这些更改可见:这两个概念是无关的。请参阅 IO_REFRESH_INTERVAL 。
期望以毫秒为单位的正整数,例如 1000,或可以解析为该整数的字符串。
默认值:1000
此配置属性的变体(点击以打开) hibernate.search.backend.indexes.<index-name>.io.commit_interval
hibernate.search.backends.<backend-name>.io.commit_interval
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.commit_interval
hibernate.search.backend.io.merge.calibrate_by_deletes
期望一个布尔值,例如 true 或 false,或可以解析为该布尔值的字符串。
此设置的默认值由 Lucene 定义。
此配置属性的变体(点击以打开) hibernate.search.backend.indexes.<index-name>.io.merge.calibrate_by_deletes
hibernate.search.backends.<backend-name>.io.merge.calibrate_by_deletes
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.merge.calibrate_by_deletes
hibernate.search.backend.io.merge.factor
要传递给 LogMergePolicy.setMergeFactor(int) 的值。
期望一个正整数,或可以解析为该整数的字符串。
此设置的默认值由 Lucene 定义。
此配置属性的变体(单击打开) hibernate.search.backend.indexes.<index-name>.io.merge.factor
hibernate.search.backends.<backend-name>.io.merge.factor
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.merge.factor
hibernate.search.backend.io.merge.max_docs
期望一个正整数,或可以解析为该整数的字符串。
此设置的默认值由 Lucene 定义。
此配置属性的变体(单击打开) hibernate.search.backend.indexes.<index-name>.io.merge.max_docs
hibernate.search.backends.<backend-name>.io.merge.max_docs
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.merge.max_docs
hibernate.search.backend.io.merge.max_forced_size
期望以兆字节为单位的正整数,或可以解析为该整数的字符串。
此设置的默认值由 Lucene 定义。
此配置属性的变体(单击打开) hibernate.search.backend.indexes.<index-name>.io.merge.max_forced_size
hibernate.search.backends.<backend-name>.io.merge.max_forced_size
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.merge.max_forced_size
hibernate.search.backend.io.merge.max_size
期望以兆字节为单位的正整数,或可以解析为该整数的字符串。
此设置的默认值由 Lucene 定义。
此配置属性的变体(单击打开) hibernate.search.backend.indexes.<index-name>.io.merge.max_size
hibernate.search.backends.<backend-name>.io.merge.max_size
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.merge.max_size
hibernate.search.backend.io.merge.min_size
期望以兆字节为单位的正整数,或可以解析为该整数的字符串。
此设置的默认值由 Lucene 定义。
此配置属性的变体(单击打开) hibernate.search.backend.indexes.<index-name>.io.merge.min_size
hibernate.search.backends.<backend-name>.io.merge.min_size
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.merge.min_size
hibernate.search.backend.io.refresh_interval
在索引读入器被视为已失效并重新创建之前,索引写入之后可能经过多长时间。
仅适用于“近实时”I/O 策略。
这实际上定义了过时的搜索查询结果可能存在多长时间。例如:
如果设置为 0,则搜索结果将始终与索引写入完全同步。
如果设置为 1000,则搜索结果可能反映最多 1 秒前的索引状态。不过,它有一个好处:当频繁写入索引时,在另一个查询后不到 1 秒执行的搜索查询可能会执行得更快。
请注意,单个写操作可能會触发強制刷新(例如,ORM 映射器中的 read-sync 和 sync 索引計劃同步策略),在这种情况下,您只能在密集索引(批量索引器,…)期间从一個非零刷新间隔中受益。
期望以毫秒为单位的正整数,例如 1000,或可以解析为该整数的字符串。
默认值:0
此配置属性的变体(单击以打开) hibernate.search.backend.indexes.<index-name>.io.refresh_interval
hibernate.search.backends.<backend-name>.io.refresh_interval
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.refresh_interval
hibernate.search.backend.io.strategy
如何处理输入/输出,即如何写入和读取索引。
期待有一个 IOStrategyName 值或此类值的字符串表示。
此配置属性的变体(单击以打开) hibernate.search.backend.indexes.<index-name>.io.strategy
hibernate.search.backends.<backend-name>.io.strategy
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.strategy
hibernate.search.backend.io.writer.infostream
是否记录 IndexWriterConfig.setInfoStream(InfoStream) (在跟踪级别),如果不记录,请单击“否”。
日志附加到记录器“org.hibernate.search.backend.lucene.infostream”。
期望一个布尔值,例如 true 或 false,或可以解析为该布尔值的字符串。
默认值为 false。
此配置属性的变体(单击以打开) hibernate.search.backend.indexes.<index-name>.io.writer.infostream
hibernate.search.backends.<backend-name>.io.writer.infostream
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.writer.infostream
hibernate.search.backend.io.writer.max_buffered_docs
期望一个正整数,或可以解析为该整数的字符串。
此设置的默认值由 Lucene 定义。
此配置属性的变体(单击以打开) hibernate.search.backend.indexes.<index-name>.io.writer.max_buffered_docs
hibernate.search.backends.<backend-name>.io.writer.max_buffered_docs
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.writer.max_buffered_docs
hibernate.search.backend.io.writer.ram_buffer_size
期望以兆字节为单位的正整数,或可以解析为该整数的字符串。
此设置的默认值由 Lucene 定义。
此配置属性的变量(单击以打开) hibernate.search.backend.indexes.<index-name>.io.writer.ram_buffer_size
hibernate.search.backends.<backend-name>.io.writer.ram_buffer_size
hibernate.search.backends.<backend-name>.indexes.<index-name>.io.writer.ram_buffer_size
hibernate.search.backend.lucene_version
创建分析器时传递给分析器的 Lucene 版本。
当升级 Lucene 时,应该设置此项以获得一致的行为。
期望一个 Lucene Version 对象或 Version.parseLeniently(java.lang.String) 接受的字符串
默认为 LuceneBackendSettings.Defaults.LUCENE_VERSION ,在升级 Hibernate Search 或 Lucene 时可能会更改,因此不提供任何向后兼容性保证。建议的方法是将此属性显式设置为要定位的 Lucene 版本。
此配置属性的变量(单击以打开) hibernate.search.backends.<backend-name>.lucene_version
hibernate.search.backend.multi_tenancy.strategy
如何实现多租户。
期望 MultiTenancyStrategyName 值或此类值的字符串表示形式。
此配置属性的变量(单击以打开) hibernate.search.backends.<backend-name>.multi_tenancy.strategy
hibernate.search.backend.query.caching.configurer
查询缓存配置器。
期望对 QueryCachingConfigurer 类型 bean 的单值或多值引用。
默认为无值。
此配置属性的变量(单击以打开) hibernate.search.backends.<backend-name>.query.caching.configurer
hibernate.search.backend.sharding.number_of_shards
要为索引创建的分片数量,即“物理”索引的数量,每个索引都保存索引数据的一部分。
仅适用于 hash sharding strategy 。
需要一个严格的正整数,例如 4,或可以解析成该整数值的字符串。
没有默认值:在使用 hash 分片策略时此属性必须设置。
此配置属性的变量(单击以打开) hibernate.search.backend.indexes.<index-name>.sharding.number_of_shards
hibernate.search.backends.<backend-name>.sharding.number_of_shards
hibernate.search.backends.<backend-name>.indexes.<index-name>.sharding.number_of_shards
hibernate.search.backend.sharding.shard_identifiers
接受索引的分片标识符列表。
仅适用于 explicit sharding strategy 。
需要一个包含多个分片标识符(以 “,” 分隔)的字符串,或一个包含这些分片标识符的 Collection<String>。
没有默认值:在使用 explicit 分片策略时此属性必须设置。
此配置属性的变体(单击以打开) hibernate.search.backend.indexes.<index-name>.sharding.shard_identifiers
hibernate.search.backends.<backend-name>.sharding.shard_identifiers
hibernate.search.backends.<backend-name>.indexes.<index-name>.sharding.shard_identifiers
hibernate.search.backend.sharding.strategy
分片策略,可决定分片数、分片标识符以及如何将路由键转换为分片标识符。
需要一个字符串,例如 “hash”。有关可用值列表,请参见参考文档。
默认值:"none"
此配置属性的变体(点击以打开) hibernate.search.backend.indexes.<index-name>.sharding.strategy
hibernate.search.backends.<backend-name>.sharding.strategy
hibernate.search.backends.<backend-name>.indexes.<index-name>.sharding.strategy
hibernate.search.backend.thread_pool.size
分配给后端的线程池的大小。
预期一个严格正整数值或一个可解析为整数的字符串。
有关此设置及其含义的更多信息,请参见参考文档,“Lucene 后端 - 线程”部分。
默认为 JVM 启动时可用的处理器内核数量。
此配置属性的变体(点击以打开) hibernate.search.backends.<backend-name>.thread_pool.size
A.3. Hibernate Search Backend - Elasticsearch
hibernate.search.backend.analysis.configurer
应用于此索引的分析配置器。
期望对于类型为 ElasticsearchAnalysisConfigurer 的 bean 来讲,是单值或多值的引用。
默认为无值。
此配置属性的变体(点击以打开) hibernate.search.backend.indexes.<index-name>.analysis.configurer
hibernate.search.backends.<backend-name>.analysis.configurer
hibernate.search.backends.<backend-name>.indexes.<index-name>.analysis.configurer
hibernate.search.backend.client.configurer
一个 ElasticsearchHttpClientConfigurer ,该 ElasticsearchHttpClientConfigurer 定义自定义的 HTTP 客户端配置。
它可以例如用于调整 SSL 上下文以接受自签名证书。它允许覆盖其他 HTTP 客户端设置,例如 USERNAME 或 MAX_CONNECTIONS_PER_ROUTE 。
要求引用类型为 ElasticsearchHttpClientConfigurer 的 bean。
默认为无值。
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.client.configurer
hibernate.search.backend.connection_timeout
与 Elasticsearch 服务器建立连接时的超时时间。
需要毫秒为单位的正整数,例如 3000,或可以解析成该整数值的字符串。
默认值:1000
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.connection_timeout
hibernate.search.backend.discovery.enabled
是否启用了自动发现 Elasticsearch 集群中的节点。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值:false
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.discovery.enabled
hibernate.search.backend.discovery.refresh_interval
如果启用了自动发现,两次执行之间的时间间隔。
需要以秒为单位的正整数,例如 2,或可解析为该类整数的字符串。
默认值:10
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.discovery.refresh_interval
hibernate.search.backend.dynamic_mapping
Elasticsearch 映射中 dynamic_mapping 属性的默认值。
在具有字段模板的动态字段中,此设置会被忽略,因为字段模板将 dynamic_mapping 强制为 DynamicMapping.TRUE 。
此配置属性的变量(单击打开) hibernate.search.backend.indexes.<index-name>.dynamic_mapping
hibernate.search.backends.<backend-name>.dynamic_mapping
hibernate.search.backends.<backend-name>.indexes.<index-name>.dynamic_mapping
hibernate.search.backend.hosts
要连接的 Elasticsearch 服务器的主机名和端口。
需要一个表示主机名和端口的字符串,例如 localhost 或 es.mycompany.com:4400,或包含多个用逗号分隔的此类主机名和端口字符串的字符串,或一个包含此类主机名和端口字符串的 Collection<String>。
可指定多个服务器用于负载均衡:请求将依次分配给每个主机。
同时设置此属性和 URIS 会导致启动时抛出一个异常。
此配置属性的变体(单击可展开) hibernate.search.backends.<backend-name>.hosts
hibernate.search.backend.indexing.max_bulk_size
在处理索引队列时创建的批量请求的最大大小。
预期一个严格正整数值或一个可解析为整数的字符串。
有关于此设置及其含义的详细信息,请参见参考文档,“Elasticsearch 后端 - 索引”部分。
默认值:100
此配置属性的变体(单击可展开) hibernate.search.backend.indexes.<index-name>.indexing.max_bulk_size
hibernate.search.backends.<backend-name>.indexing.max_bulk_size
hibernate.search.backends.<backend-name>.indexes.<index-name>.indexing.max_bulk_size
hibernate.search.backend.indexing.queue_count
分配给每个索引的索引队列数量。
预期一个严格正整数值或一个可解析为整数的字符串。
有关于此设置及其含义的详细信息,请参见参考文档,“Elasticsearch 后端 - 索引”部分。
默认值:10
此配置属性的变体(点击以打开) hibernate.search.backend.indexes.<index-name>.indexing.queue_count
hibernate.search.backends.<backend-name>.indexing.queue_count
hibernate.search.backends.<backend-name>.indexes.<index-name>.indexing.queue_count
hibernate.search.backend.indexing.queue_size
索引队列的大小。
预期一个严格正整数值或一个可解析为整数的字符串。
有关于此设置及其含义的详细信息,请参见参考文档,“Elasticsearch 后端 - 索引”部分。
默认值:1000
此配置属性的变体(点击以打开) hibernate.search.backend.indexes.<index-name>.indexing.queue_size
hibernate.search.backends.<backend-name>.indexing.queue_size
hibernate.search.backends.<backend-name>.indexes.<index-name>.indexing.queue_size
hibernate.search.backend.layout.strategy
如何确定索引名称和别名。
预期一个类型为 IndexLayoutStrategy 的 Bean 的引用。
默认为 simple 策略:
非别名名称遵循格式 <hibernateSearchIndexName>-<6 digits>
写别名遵循格式 <hibernateSearchIndexName>-write
读别名遵循格式 <hibernateSearchIndexName>-read
此配置属性的变体(单击可展开) hibernate.search.backends.<backend-name>.layout.strategy
hibernate.search.backend.log.json_pretty_printing
日志中包含的 JSON 是否应漂亮打印(缩进,带换行符)。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值:false
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.log.json_pretty_printing
hibernate.search.backend.mapping.type_name.strategy
如何将文档映射到其类型名称,即如何在搜索命中中确定文档的类型名称。
需要 TypeNameMappingStrategyName 值或此类值的字符串表示形式。
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.mapping.type_name.strategy
hibernate.search.backend.max_connections
到 Elasticsearch 集群的所有主机的最大同时连接数。
预期值为正整数,例如 20 或可被解析为这类整数的字符串。
默认值:20
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.max_connections
hibernate.search.backend.max_connections_per_route
到 Elasticsearch 集群的每个主机的最大同时连接数。
预期值为正整数,例如 10 或可被解析为这类整数的字符串。
默认值:10
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.max_connections_per_route
hibernate.search.backend.max_keep_alive
连接到 Elasticsearch 集群的连接可以闲置多长时间。
预期值为以毫秒为单位的正长整型值,例如 60000,或可被解析为这类整数的字符串。
如果 Elasticsearch 集群的响应包含 Keep-Alive 标头,则有效最大空闲时间为 Keep-Alive 标头或此属性的值(如果已设置)中较低的一个。
如果未设置此属性,则仅考虑 Keep-Alive 标头,如果它不存在,则空闲连接将永久保留。
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.max_keep_alive
hibernate.search.backend.multi_tenancy.strategy
如何实现多租户。
需要 MultiTenancyStrategyName 值或此类值的字符串表示形式。
此配置属性的变量(单击以打开) hibernate.search.backends.<backend-name>.multi_tenancy.strategy
hibernate.search.backend.password
连接到 Elasticsearch 服务器(HTTP 身份验证)时发送的密码。
预期值为字符串。
默认情况下不使用用户名(匿名访问)。
此配置属性的变量(单击打开) hibernate.search.backends.<backend-name>.password
hibernate.search.backend.path_prefix
用于指定添加到请求端点的路径前缀的属性。如果你的 Elasticsearch 实例位于特定上下文路径,请使用路径前缀。
默认值:""
此配置属性的变式(点击打开) hibernate.search.backends.<backend-name>.path_prefix
hibernate.search.backend.protocol
连接到 Elasticsearch 服务器时要使用的协议。
预期值为字符串:http 或 https。
同时设置此属性和 URIS 会导致启动时抛出一个异常。
默认值:"http"
此配置属性的变式(点击打开) hibernate.search.backends.<backend-name>.protocol
hibernate.search.backend.query.shard_failure.ignore
此属性定义是否忽略部分分片故障。
万一所有分片都失败,Elasticsearch 集群自己会返回一个 400 状态代码,但如果仅部分分片失败,那么客户端将从成功的分片处收到一个成功的部分响应。
为了避免获得任何部分结果,此设置可以设置为_false_。而如果应当忽略部分故障并将其视为有效结果,则应将该值设置为_true_。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值:false
此配置属性的变式(点击打开) hibernate.search.backends.<backend-name>.query.shard_failure.ignore
hibernate.search.backend.read_timeout
从 Elasticsearch 服务器读取响应时的超时时间。
预期以毫秒为单位的正整数,例如_60000_,或可以解析为此类整数值的字符串。
默认值:30000
此配置属性的变式(点击打开) hibernate.search.backends.<backend-name>.read_timeout
hibernate.search.backend.request_timeout
向 Elasticsearch 服务器执行请求时的超时时间。
这包括建立连接、发送请求和读取响应所需的时间。
预期以毫秒为单位的正整数,例如 60000,或可以解析为此类整数值的字符串。
默认为无请求超时。
此配置属性的变式(点击打开) hibernate.search.backends.<backend-name>.request_timeout
hibernate.search.backend.schema_management.mapping_file
映射文件的路径,允许在模式管理中由 Hibernate Search 创建的索引使用自定义映射。
预期一个字符串来表示类路径中经 UTF-8 编码的文件的路径。该文件必须包含以 JSON 格式表示的索引设置,其确切语法与 Elasticsearch 服务器在 "mappings" 属性 when defining the mapping for an index 下期望的语法完全相同。
该文件不需要包含完整的映射:Hibernate Search 会自动将缺少的属性(索引字段)注入给定的映射。
将如下处理给定映射与 Hibernate Search 生成的映射之间的冲突:
映射根处的 _properties_以外的映射参数将是给定映射中的那些参数;Hibernate Search 生成的那些参数将被忽略。
properties_将使用在给定映射和 Hibernate Search 生成的映射中定义的属性进行合并。如果一个属性在两边都定义,则将使用给定映射中的映射参数,除了 _properties,它将使用相同的方式递归合并。
默认为无值,表示将仅使用 Hibernate Search 生成的索引映射。
此配置属性的变式(点击打开) hibernate.search.backend.indexes.<index-name>.schema_management.mapping_file
hibernate.search.backends.<backend-name>.schema_management.mapping_file
hibernate.search.backends.<backend-name>.indexes.<index-name>.schema_management.mapping_file
hibernate.search.backend.schema_management.minimal_required_status
在 Hibernate Search 可以开始使用某个索引之前,启动时该索引所需的最低状态。
期望一个 IndexStatus 值,或此类值的字符串表示形式。
在针对支持索引状态检查的 Elasticsearch 分发版本时默认为_yellow_,而在针对不支持索引状态检查的 Elasticsearch 分发版本(如 Amazon OpenSearch Serverless)时默认为无值(无要求)。
此配置属性的变式(点击打开) hibernate.search.backend.indexes.<index-name>.schema_management.minimal_required_status
hibernate.search.backends.<backend-name>.schema_management.minimal_required_status
hibernate.search.backends.<backend-name>.indexes.<index-name>.schema_management.minimal_required_status
hibernate.search.backend.schema_management.minimal_required_status_wait_timeout
等待时超时 required status 。
预期以毫秒为单位的正整数,例如_60000_,或可以解析为此类整数值的字符串。
默认值:10000
此配置属性的变量(单击以打开) hibernate.search.backend.indexes.<index-name>.schema_management.minimal_required_status_wait_timeout
hibernate.search.backends.<backend-name>.schema_management.minimal_required_status_wait_timeout
hibernate.search.backends.<backend-name>.indexes.<index-name>.schema_management.minimal_required_status_wait_timeout
hibernate.search.backend.schema_management.settings_file
指向设置文件的路径,允许对 Hibernate Search 在模式管理一部分内创建的索引进行自定义设置。
预期一个字符串来表示类路径中经 UTF-8 编码的文件的路径。该文件必须包含以 JSON 格式表示的索引设置,其确切语法与 Elasticsearch 服务器在 "settings" 属性 when creating an index 下期望的语法完全相同。例如,如果文件内容为 {"index.codec": "best_compression"},它将把 index.codec 设置为 best_compression。
请注意,如果一些定义发生冲突,则由 Hibernate Search 生成的设置将被覆盖。例如,如果分析仪“myAnalyzer”是由 ANALYSIS_CONFIGURER 和此设置文件定义的,则设置文件中的定义将优先。如果仅在分析配置器或设置文件中定义,但不在两者中定义,则它将按原样保留。
默认为无值,意味着仅使用 Hibernate Search 生成的索引设置。
此配置属性的变量(单击以打开) hibernate.search.backend.indexes.<index-name>.schema_management.settings_file
hibernate.search.backends.<backend-name>.schema_management.settings_file
hibernate.search.backends.<backend-name>.indexes.<index-name>.schema_management.settings_file
hibernate.search.backend.scroll_timeout
用于指定如果 Elasticsearch 没有获取到其他结果, scroll 将可使用的最大持续时间。
预期以秒为单位的正整数,如 60,或可解析成该整数的字符串。
默认值: 60
此配置属性(点击展开) hibernate.search.backends.<backend-name>.scroll_timeout 的变体
hibernate.search.backend.thread_pool.size
分配给后端的线程池的大小。
预期一个严格正整数值或一个可解析为整数的字符串。
有关此设置及其含义的更多信息,请参阅参考文档“Elasticsearch 后端 - 线程”部分。
默认为 JVM 启动时可用的处理器内核数量。
此配置属性的变体(点击以打开) hibernate.search.backends.<backend-name>.thread_pool.size
hibernate.search.backend.uris
连接到的 Elasticsearch 服务器的协议、主机名和端口。
或者期望一个表示 URI 的字符串,例如 _ http://localhost_ 或 _ https://es.mycompany.com:4400_ ,或者一个包含多个由逗号分隔的此类 URI 的字符串,或者为一个包含此类 URI 的 Collection<String> 。
所有 URI 必须指定同个协议。
默认为 _ http://localhost:9200_ ,除非设置了 HOSTS 或 PROTOCOL ,在这种情况下,它们具有优先权。
本配置属性的变体(点击打开) hibernate.search.backends.<backend-name>.uris
hibernate.search.backend.username
连接到 Elasticsearch 服务器(HTTP 认证)时发送的用户名。
预期值为字符串。
默认情况下不使用用户名(匿名访问)。
本配置属性的变体(点击打开) hibernate.search.backends.<backend-name>.username
hibernate.search.backend.version
Elasticsearch 集群中正在运行的 Elasticsearch 版本。
预期一个 ElasticsearchVersion 对象,或一个可在该对象中 parsed 的字符串。
无默认值:未提供时,系统将在启动时向 Elasticsearch 集群发送请求来自动解析版本。
本配置属性的变体(点击打开) hibernate.search.backends.<backend-name>.version
hibernate.search.backend.version_check.enabled
是否启用 Elasticsearch 集群的版本检查。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
当 VERSION 未配置或设置为支持版本检查的发行版时,默认值为 true ;当 VERSION 设置为不支持版本检查的发行版(如 Amazon OpenSearch Serverless)时,默认值为 false 。
默认值: true
本配置属性的变体(点击打开) hibernate.search.backends.<backend-name>.version_check.enabled
A.4. Hibernate Search Backend - Elasticsearch - AWS integration
hibernate.search.backend.aws.credentials.access_key_id
在使用 static credentials 时的 AWS 访问密钥 ID。
预期字符串值,例如 AKIDEXAMPLE。
无默认值:在启用签名且证书类型设置为 ElasticsearchAwsCredentialsTypeNames.STATIC 时必须提供。
本配置属性的变体(点击打开) hibernate.search.backends.<backend-name>.aws.credentials.access_key_id
hibernate.search.backend.aws.credentials.secret_access_key
在使用 static credentials 时的 AWS 密钥访问密钥。
预期字符串值,例如 wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY
无默认值:在启用签名且证书类型设置为 ElasticsearchAwsCredentialsTypeNames.STATIC 时必须提供。
本配置属性的变体(点击打开) hibernate.search.backends.<backend-name>.aws.credentials.secret_access_key
hibernate.search.backend.aws.credentials.type
在 enabled 签名时使用的证书类型。
期望在 ElasticsearchAwsCredentialsTypeNames 中列为常量的其中一个名称。
默认值: "default"
本配置属性的变体(点击打开) hibernate.search.backends.<backend-name>.aws.credentials.type
hibernate.search.backend.aws.region
AWS 区域。
需要 us-east-1 这样的字符串值。
当启用签名时没有默认值:必需提供。
此配置属性的变体 (点击以打开) hibernate.search.backends.<backend-name>.aws.region
hibernate.search.backend.aws.signing.enabled
是否应使用 AWS 凭证对请求进行签名。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值:false
此配置属性的变体 (点击以打开) hibernate.search.backends.<backend-name>.aws.signing.enabled
A.5. Hibernate Search ORM Integration
hibernate.search.automatic_indexing.enable_dirty_check
已弃用。
将在未来版本中删除此设置。不会提供任何替代品来替换它。在未来版本中删除此属性后,在考虑是否触发重新索引时,将始终执行脏检查。
是否在实际重新索引实体之前检查脏属性是否与索引相关。
启用时,如果仅对索引时不使用的属性进行更改,将跳过实体的重新索引。此功能被认为是安全的,因此默认启用。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值: true
hibernate.search.automatic_indexing.enabled
已弃用。
是否启用了监听器触发的索引,即是否自动检测 Hibernate ORM 会话中实体的更改并导致重新索引。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值: true
hibernate.search.automatic_indexing.strategy
已弃用。
请改用 INDEXING_LISTENERS_ENABLED (注意:它需要一个布尔值)。
如何启用或禁用监听器触发的索引。
需要一个 AutomaticIndexingStrategyName 值,或此类值的字符串表示形式。
hibernate.search.automatic_indexing.synchronization.strategy
已弃用。
如何在应用程序线程和由 SearchIndexingPlan 触发的索引之间进行同步。
需要使用 AutomaticIndexingSynchronizationStrategyNames 中定义的某个字符串,或对类型为 AutomaticIndexingSynchronizationStrategy 的 bean 的引用。
hibernate.search.coordination.strategy
如何在分布式应用程序的节点之间进行协调。
需要对协调策略的引用;请参阅参考文档了解可用的策略和相关 Maven 依赖关系。
hibernate.search.enabled
是否启用或禁用 Hibernate Search。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值: true
hibernate.search.indexing.listeners.enabled
是否启用侦测实体更改并自动触发索引操作的 Hibernate ORM 侦听器。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值: true
hibernate.search.indexing.mass.default_clean_operation
在非明确配置期间应用于批量索引的默认索引清理操作。
需要 MassIndexingDefaultCleanOperation 值或此类值的字符串表示形式。
hibernate.search.indexing.plan.synchronization.strategy
如何在应用程序线程和由 SearchIndexingPlan 触发的索引之间进行同步。
需要 IndexingPlanSynchronizationStrategyNames 中定义的其中一个字符串或 IndexingPlanSynchronizationStrategy 类型的 bean 引用。
hibernate.search.mapping.build_missing_discovered_jandex_indexes
当 annotation processing is enabled (默认值)时,无论 Hibernate Search 是否应为在注释处理过程中已注册的类型(尤其是实体)自动构建 Jandex 索引,以确保考虑那些 JAR 中的所有“根映射”注释(如 ProjectionConstructor )。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值: true
hibernate.search.mapping.configurer
Hibernate Search 映射的配置器。
需要对 HibernateOrmSearchMappingConfigurer 类型进行单个值或多值引用。
默认为无值。
hibernate.search.mapping.discover_annotated_types_from_root_mapping_annotations
当 annotation processing is enabled (默认值)时,无论 Hibernate Search 是否应自动发现存在于 Jandex 索引中,并且同时注释有 root mapping annotations 的注释类型。
当启用时,如果在 Jandex 索引中发现带有 RootMapping 元注解的注解,并且在 Jandex 索引中发现具有该注解(例如 SearchEntity 或 ProjectionConstructor)的类型,那么即使该类型没有显式添加,该类型也会自动被扫描以查找映射注解。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认为 HibernateOrmMapperSettings.Defaults.MAPPING_DISCOVER_ANNOTATED_TYPES_FROM_ROOT_MAPPING_ANNOTATIONS 。
默认值: true
hibernate.search.mapping.process_annotations
是否应自动处理实体类型及其嵌套类型(如 index-embedded 类型)的注释。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值: true
hibernate.search.multi_tenancy.tenant_identifier_converter
如何将租户标识符转换成字符串表示,或者从该表示转换成租户标识符。
将租户标识符转换为字符串表示以写入索引,并在必须打开新的 Hibernate ORM 会话时从字符串转换为其对象表示。
当启用多租户时,并且如果非字符串租户标识符被用作通过此属性提供的自定义转换器。
默认值为 HibernateOrmMapperSettings.Defaults.MULTI_TENANCY_TENANT_IDENTIFIER_CONVERTER 。此转换器只支持字符串租户标识符,而且如果其他类型的标识符被使用的话,它将会失败。
hibernate.search.multi_tenancy.tenant_ids
当启用多租户时,所有可以被应用程序使用的租户标识符的完备列表。
期望一个由逗号分隔表示多个租户 ID 的字符串或包含租户 ID 的 Collection<String>。
没有默认值;此属性可能不得不对 coordination strategy 进行明确设置。
hibernate.search.query.loading.cache_lookup.strategy
在加载实体以进行搜索查询时,如何查找二级缓存中的实体。
期望一个 EntityLoadingCacheLookupStrategy 值,或这样的值的字符串表示。
hibernate.search.query.loading.fetch_size
在加载实体以进行搜索查询时,每个数据库查询应加载多少个实体。
期望一个严格为正的 Integer 值,例如 100,或可以解析为此类 Integer 值的字符串。
默认值:100
hibernate.search.schema_management.strategy
在启动和关闭时如何创建、更新、验证或删除索引及其模式。
期望一个 SchemaManagementStrategyName 值,或这样的值的字符串表示。
A.6. Hibernate Search ORM Integration - Coordination - Outbox Polling
hibernate.search.coordination.entity.mapping.agent.catalog
用于代理表数据库目录。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
默认为 Hibernate ORM 中配置的默认目录。请参阅 MappingSettings.DEFAULT_CATALOG 。
hibernate.search.coordination.entity.mapping.agent.schema
用于代理表数据库模式。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
默认为 Hibernate ORM 中配置的默认模式。请参阅 MappingSettings.DEFAULT_SCHEMA 。
hibernate.search.coordination.entity.mapping.agent.table
代理表名称。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
此值的默认值为 "HSEARCH_AGENT"。
默认值:"HSEARCH_AGENT"
hibernate.search.coordination.entity.mapping.agent.uuid_gen_strategy
UuidGenerator 为代理表使用的 UUID 生成器策略的名称。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
此值的默认值为 HibernateOrmMapperOutboxPollingSettings.Defaults.COORDINATION_ENTITY_MAPPING_AGENT_UUID_GEN_STRATEGY 。
hibernate.search.coordination.entity.mapping.agent.uuid_type
用于在代理表中表示 UUID 的 Hibernate ORM constant type code used to identify a generic SQL type 的名称。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
此值的默认值为 HibernateOrmMapperOutboxPollingSettings.Defaults.COORDINATION_ENTITY_MAPPING_AGENT_UUID_TYPE 。
默认值: "default"
hibernate.search.coordination.entity.mapping.outboxevent.catalog
用于出站事件表的数据库目录。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
默认为 Hibernate ORM 中配置的默认目录。请参阅 MappingSettings.DEFAULT_CATALOG 。
hibernate.search.coordination.entity.mapping.outboxevent.schema
用于出站事件表的数据库模式。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
默认为 Hibernate ORM 中配置的默认模式。请参阅 MappingSettings.DEFAULT_SCHEMA 。
hibernate.search.coordination.entity.mapping.outboxevent.table
outbox 事件表的名称。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
此值的默认值为 "HSEARCH_OUTBOX_EVENT"。
hibernate.search.coordination.entity.mapping.outboxevent.uuid_gen_strategy
UuidGenerator 在 outbox 事件表中使用的 UUID 生成器策略的名称。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
hibernate.search.coordination.entity.mapping.outboxevent.uuid_type
Hibernate ORM constant type code used to identify a generic SQL type 的名称,用于在 outbox 事件表中表示 UUID。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
该值的默认值为 HibernateOrmMapperOutboxPollingSettings.Defaults.COORDINATION_ENTITY_MAPPING_OUTBOX_EVENT_UUID_TYPE 。
hibernate.search.coordination.event_processor.batch_size
在事件处理器中,一次事务中最多处理多少个 outbox 事件。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
期待一个正整数,如 50,或可以解析成该整数的字符串。
默认值:50
hibernate.search.coordination.event_processor.enabled
应用程序是否将处理实体更改事件。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
当事件处理器被禁用时,当实体更改时,此应用程序节点仍会生成事件,但不会在此应用程序节点上进行索引,并假定在另一个节点上进行。
默认值: true
hibernate.search.coordination.event_processor.order
在事件处理器中,处理 outbox 事件的顺序。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
使用在 OutboxEventProcessingOrder 中定义的“外部表示”字符串之一。
hibernate.search.coordination.event_processor.polling_interval
在事件处理器中,在查询未返回任何事件后,等待再次查询 outbox 事件表的时间(以毫秒为单位)。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
如果上次轮询未返回任何事件,Hibernate Search 将等待很长时间后再重新轮询:
值越高,实体更改与索引中对应的更新之间的延迟越大,但当没有要处理的事件时,对数据库的压力越小。
较小值表示实体更改和索引中的相应更新之间的延迟较低,但当没有事件需要处理时,数据库压力较大。
期望以毫秒为单位的正整数,例如 1000,或可以解析为该整数的字符串。
默认为 HibernateOrmMapperOutboxPollingSettings.Defaults.COORDINATION_EVENT_PROCESSOR_POLLING_INTERVAL 。
默认值:100
hibernate.search.coordination.event_processor.pulse_expiration
在将代理视为断开连接并强制将其从集群中移除之前,事件处理器“脉冲”保持有效的时间(以毫秒为单位)。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
每个代理都将在数据库表中注册自身。通常,在轮询处理事件时,批量索引代理将执行 "pulse" :它将暂停当前操作,然后(除其他操作外)更新表中的条目,让其他代理知道它仍然处于活动状态并防止过期。如果代理在其条目未更新的时间超过过期时间间隔的值,则将被视为已断开连接:其他代理将强制从表中移除其条目,并根据需要执行重新平衡(重新分配分片)。
过期时间间隔必须设置为至少比 pulse interval 大 3 倍的值:
较小值(更接近脉冲间隔)表示节点因崩溃或网络故障而突然离开集群时,不处理事件而浪费的时间更少,但由于事件处理器被错误地认为已断开连接而不处理事件而浪费时间的风险增加。
较大值(远大于脉冲间隔)表示节点因崩溃或网络故障而突然离开集群时,不处理事件而浪费的时间更多,但由于事件处理器被错误地认为已断开连接而不处理事件而浪费时间风险降低。
期待一个毫秒的正整数,如 30000,或可以解析成该整数的字符串。
默认为 HibernateOrmMapperOutboxPollingSettings.Defaults.COORDINATION_EVENT_PROCESSOR_PULSE_EXPIRATION 。
默认值:30000
hibernate.search.coordination.event_processor.pulse_interval
在必须执行“脉冲”之前,事件处理器可以轮询时间的长度(以毫秒为单位)。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
每个代理都在数据库表中注册自身。通常,在轮询要处理的事件时,事件处理器会执行一个“pulse”:它暂停索引并:
它更新它在表中的条目,以让其他代理知道它仍处于活动状态并防止过期。
它会从表中删除所有其他已过期的代理。
如果注意到正在运行批量索引器,则会挂起自身。
如果参与后台索引的代理数量在最近一次脉冲后发生更改,则执行重新平衡(重新分配分片)。
心跳间隔必须设置为介于 polling interval 和 expiration interval 三分之一 (1/3) 之间的值:
较小值(更接近轮询间隔)表示节点加入或离开集群时,不处理事件而浪费的时间更少,降低了由于事件处理器被错误地认为已断开连接而不处理事件而浪费时间的风险,但由于更频繁地检查代理列表,加大了数据库压力。
较大值(更接近过期间隔)表示节点加入或离开集群时,不处理事件而浪费的时间更多,并且因事件处理器被错误地认为已断开连接而不处理事件而浪费时间风险增加,但由于不太频繁地检查代理列表,减轻了数据库压力。
期望以毫秒为单位的正整数,例如 2000,或可以解析为该整数的字符串。
默认值:2000
hibernate.search.coordination.event_processor.retry_delay
事件处理器在处理失败后重新处理事件前必须等待多长时间。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
期望以秒为单位的正整数,例如 10,或可以解析为该整数的字符串。
使用值 0 尽快重新处理失败的事件,无延迟。
默认值:30
hibernate.search.coordination.event_processor.shards.assigned
分配给此应用程序节点的用于事件处理的分片索引。
必须将分片唯一分配给一个且仅一个应用程序节点。如果不这样做,则某些事件可能不会被处理,或者可能被处理两次或按错误顺序处理,从而导致错误和/或索引不同步。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
预计分片索引,即介于 0 (包括)和 total shard count (不包括)之间的整数值,或可解析为此类分片索引的字符串,或包含多个此类分片索引字符串(用逗号分隔),或包含此类分片索引的 Collection<Integer> 。
无默认值:如果您想要静态分片,则必须显式提供。
hibernate.search.coordination.event_processor.shards.total_count
用于事件处理的所有应用程序节点上的分片总数。
此属性对于所有应用程序节点必须具有相同的值,并且除非停止并重新启动所有应用程序节点,否则绝不能更改。如果不这样做,则某些事件可能不会被处理,或者可能被处理两次或按错误顺序处理,从而导致错误和/或索引不同步。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
期望至少为 2 的整数,或可以解析为该整数的字符串。
无默认值:如果您想要静态分片,则必须显式提供。
hibernate.search.coordination.event_processor.transaction_timeout
在事件处理器中,用于处理出站事件的事务的超时时间。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
仅在配置 JTA 事务管理器时有效。
期望以秒为单位的正整数,例如 10,或可以解析为该整数的字符串。
使用 JTA 但未设置此属性时,Hibernate Search 将使用 JTA 事务管理器中配置的任何默认事务超时。
hibernate.search.coordination.mass_indexer.polling_interval
在批量索引器中,以毫秒为单位,在主动等待事件处理器挂起时等待对代理表进行另一个查询的时间。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
Hibernate Search 在发现其他代理尚未挂起时,将等待这么长时间然后再轮询:
较低的值会缩短批量索引器中介检测到事件处理器最终自行暂停所需的时间,但在批量索引器中介处于活动等待状态时会增加数据库上的压力。
较高的值会增加批量索引器中介检测到事件处理器最终自行暂停所需的时间,但在批量索引器中介处于活动等待状态时会减小数据库上的压力。
期望以毫秒为单位的正整数,例如 1000,或可以解析为该整数的字符串。
默认值:100
hibernate.search.coordination.mass_indexer.pulse_expiration
以毫秒为单位,批量索引器代理“心跳”在被视为代理已断开连接并从集群中强制移除之前保持有效的时长。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
每个代理都会在数据库表中注册自身。通常,在轮询以处理事件时,每个代理都会执行一次 "pulse" :它会暂停正在执行的操作,并(除其他事项外)更新其在表中的条目,以告知其他代理它仍然处于活动状态并防止过期。如果代理在其条目更新时间超过过期间隔值后未能更新其条目,则该代理将被视为已断开连接:其他代理将强制从表中删除其条目,并将继续其工作,就好像过期的代理不存在一样。
过期间隔必须设置为至少比 pulse interval 大 3 倍的值:
较低的值(接近脉冲间隔)意味着当批量索引器中介由于崩溃而终止时,事件处理器不会处理事件所浪费的时间更少,但批量索引器中介错误地被认为已断开连接,因此事件处理器在批量索引期间重新开始处理事件的风险增加。
较高的值(远大于脉冲间隔)意味着当批量索引器中介由于崩溃而终止时,事件处理器不会处理事件所浪费的时间更多,但批量索引器中介错误地被认为已断开连接,因此事件处理器在批量索引期间重新开始处理事件的风险降低。
期待一个毫秒的正整数,如 30000,或可以解析成该整数的字符串。
默认值:30000
hibernate.search.coordination.mass_indexer.pulse_interval
以毫秒为单位,批量索引器在必须执行“心跳”之前可以等待的时间。
仅在 "hibernate.search.coordination.strategy" 是 "outbox-polling" 时可用。
每个代理自身都会在某个数据库中注册自己。定期地,大规模索引器会进行以下 “检查”:
它更新它在表中的条目,让其他代理知道它仍处于活动状态并防止过期。
它会从表中删除所有其他已过期的代理。
心跳间隔必须设置为介于 polling interval 和 expiration interval 三分之一 (1/3) 之间的值:
较低的值(接近轮询间隔)意味着降低了批量索引器中介错误地被认为已断开连接,因此事件处理器在批量索引期间重新开始处理事件的风险,但由于更频繁地更新中介表中批量索引器中介的条目,因此会增加数据库上的压力。
较高的值(接近过期间隔)意味着批量索引器中介错误地被认为已断开连接,因此事件处理器在批量索引期间重新开始处理事件的风险增加,但由于不太频繁地更新中介表中批量索引器中介的条目,因此会减小数据库上的压力。
期望以毫秒为单位的正整数,例如 2000,或可以解析为该整数的字符串。
默认值:2000
hibernate.search.coordination.tenants
对于租户特定的协调特性的根属性,例如“hibernate.search.coordination.tenants.tenant1.something = somevalue”。
A.7. Hibernate Search Mapper - POJO Standalone
hibernate.search.indexing.mass.default_clean_operation
在非明确配置期间应用于批量索引的默认索引清理操作。
需要 MassIndexingDefaultCleanOperation 值或此类值的字符串表示形式。
hibernate.search.indexing.plan.synchronization.strategy
如何在应用程序线程和由 SearchSession 的 indexing plan 触发的索引之间进行同步。
期待的是 IndexingPlanSynchronizationStrategy 中定义的一个字符串,或对 IndexingPlanSynchronizationStrategy 中类型的 Bean 的引用。
hibernate.search.mapping.build_missing_discovered_jandex_indexes
Hibernate Search 是否应自动为针对注解处理(特别是实体)注册的类型构建 Jandex 索引,以确保考虑那些 JAR 中的所有“根映射”注解(例如 ProjectionConstructor )。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认值: true
hibernate.search.mapping.configurer
Hibernate Search 映射的配置器。
需要对类型 StandalonePojoMappingConfigurer 的 bean 的单值或多值引用。
默认为无值。
hibernate.search.mapping.discover_annotated_types_from_root_mapping_annotations
Hibernate Search 是否应自动发现同时使用 root mapping annotations 注解的、存在于 Jandex 索引中的已注解类型。
当启用时,如果在 Jandex 索引中发现带有 RootMapping 元注解的注解,并且在 Jandex 索引中发现具有该注解(例如 SearchEntity 或 ProjectionConstructor)的类型,那么即使该类型没有显式添加,该类型也会自动被扫描以查找映射注解。
需要布尔值,例如 true 或 false,或可解析为布尔值的字符串。
默认为 StandalonePojoMapperSettings.Defaults.MAPPING_DISCOVER_ANNOTATED_TYPES_FROM_ROOT_MAPPING_ANNOTATIONS 。
默认值: true
hibernate.search.mapping.multi_tenancy.enabled
启用或禁用多租户。
如果启用多租户,那么每个 session 都需要分配一个租户标识符。
期待的是一个布尔值。
默认值:false
hibernate.search.mapping.multi_tenancy.tenant_identifier_converter
如何将租户标识符转换成字符串表示,或者从该表示转换成租户标识符。
当启用多租户时,并且如果非字符串租户标识符被用作通过此属性提供的自定义转换器。
默认为 StandalonePojoMapperSettings.Defaults.MULTI_TENANCY_TENANT_IDENTIFIER_CONVERTER 。此转换器仅支持字符串租户标识符,如果使用其他类型的标识符,则它将失败。
hibernate.search.schema_management.strategy
架构管理策略,控制如何在启动和关闭时创建、更新、验证或放弃索引及其架构。
需要 SchemaManagementStrategyName 值,或者此类值的字符串表示形式。