神经搜索 API
神经网络搜索插件提供多个 API 用于监控语义和混合搜索功能。
统计
神经网络搜索统计 API 提供关于神经网络搜索插件当前状态的信息。这包括集群级和节点级统计数据。集群级统计数据对整个集群有一个单一值。节点级统计数据对集群中的每个节点有一个单一值。
默认情况下,神经网络搜索统计 API 通过集群设置禁用。要启用统计数据收集,请使用以下命令
PUT /_cluster/settings
{
"persistent": {
"plugins.neural_search.stats_enabled": "true"
}
}
要禁用统计数据收集,请将集群设置设为 false
。禁用时,所有值都将重置,并且不会收集新的统计数据。
端点
GET /_plugins/_neural/stats
GET /_plugins/_neural/stats/<stats>
GET /_plugins/_neural/<nodes>/stats
GET /_plugins/_neural/<nodes>/stats/<stats>
路径参数
下表列出了可用的路径参数。所有路径参数均为可选。
参数 | 数据类型 | 描述 |
---|---|---|
节点 | 字符串 | 一个或多个(逗号分隔)节点,用于按节点过滤统计数据。默认为所有节点。 |
统计数据 | 字符串 | 要返回的一个或多个(逗号分隔)统计名称。默认为所有统计数据。 |
查询参数
下表列出了可用的查询参数。所有查询参数都是可选的。
参数 | 数据类型 | 描述 |
---|---|---|
include_metadata | 布尔型 | 当为 true 时,为每个统计数据包含额外的元数据字段(参见 可用元数据)。默认为 false 。 |
flat_stat_paths | 布尔型 | 当为 true 时,扁平化 JSON 响应结构以方便解析。默认为 false 。 |
include_individual_nodes | 布尔型 | 当为 true 时,在 nodes 类别中包含各个节点的统计数据。当为 false 时,从响应中排除 nodes 类别。默认为 true 。 |
include_all_nodes | 布尔型 | 当为 true 时,在 all_nodes 类别中包含所有节点聚合的统计数据。当为 false 时,从响应中排除 all_nodes 类别。默认为 true 。 |
include_info | 布尔型 | 当为 true 时,在 info 类别中包含集群范围的信息。当为 false 时,从响应中排除 info 类别。默认为 true 。 |
参数交互
请求示例
GET /_plugins/_neural/node1,node2/stats/stat1,stat2?include_metadata=true,flat_stat_paths=true
示例响应
响应
GET /_plugins/_neural/stats/
{
"_nodes": {
"total": 1,
"successful": 1,
"failed": 0
},
"cluster_name": "integTest",
"info": {
"cluster_version": "3.1.0",
"processors": {
"search": {
"hybrid": {
"comb_geometric_processors": 0,
"comb_rrf_processors": 0,
"norm_l2_processors": 0,
"norm_minmax_processors": 0,
"comb_harmonic_processors": 0,
"comb_arithmetic_processors": 0,
"norm_zscore_processors": 0,
"rank_based_normalization_processors": 0,
"normalization_processors": 0
},
"rerank_ml_processors": 0,
"rerank_by_field_processors": 0,
"neural_sparse_two_phase_processors": 0,
"neural_query_enricher_processors": 0
},
"ingest": {
"sparse_encoding_processors": 0,
"skip_existing_processors": 0,
"text_image_embedding_processors": 0,
"text_chunking_delimiter_processors": 0,
"text_embedding_processors_in_pipelines": 0,
"text_chunking_fixed_token_length_processors": 0,
"text_chunking_fixed_char_length_processors": 0,
"text_chunking_processors": 0
}
}
},
"all_nodes": {
"query": {
"hybrid": {
"hybrid_query_with_pagination_requests": 0,
"hybrid_query_with_filter_requests": 0,
"hybrid_query_with_inner_hits_requests": 0,
"hybrid_query_requests": 0
},
"neural": {
"neural_query_against_semantic_sparse_requests": 0,
"neural_query_requests": 0,
"neural_query_against_semantic_dense_requests": 0,
"neural_query_against_knn_requests": 0
},
"neural_sparse": {
"neural_sparse_query_requests": 0
}
},
"semantic_highlighting": {
"semantic_highlighting_request_count": 0
},
"processors": {
"search": {
"neural_sparse_two_phase_executions": 0,
"hybrid": {
"comb_harmonic_executions": 0,
"norm_zscore_executions": 0,
"comb_rrf_executions": 0,
"norm_l2_executions": 0,
"rank_based_normalization_processor_executions": 0,
"comb_arithmetic_executions": 0,
"normalization_processor_executions": 0,
"comb_geometric_executions": 0,
"norm_minmax_executions": 0
},
"rerank_by_field_executions": 0,
"neural_query_enricher_executions": 0,
"rerank_ml_executions": 0
},
"ingest": {
"skip_existing_executions": 0,
"text_chunking_fixed_token_length_executions": 0,
"sparse_encoding_executions": 0,
"text_chunking_fixed_char_length_executions": 0,
"text_chunking_executions": 0,
"text_embedding_executions": 0,
"semantic_field_executions": 0,
"semantic_field_chunking_executions": 0,
"text_chunking_delimiter_executions": 0,
"text_image_embedding_executions": 0
}
}
},
"nodes": {
"_cONimhxS6KdedymRZr6xg": {
"query": {
"hybrid": {
"hybrid_query_with_pagination_requests": 0,
"hybrid_query_with_filter_requests": 0,
"hybrid_query_with_inner_hits_requests": 0,
"hybrid_query_requests": 0
},
"neural": {
"neural_query_against_semantic_sparse_requests": 0,
"neural_query_requests": 0,
"neural_query_against_semantic_dense_requests": 0,
"neural_query_against_knn_requests": 0
},
"neural_sparse": {
"neural_sparse_query_requests": 0
}
},
"semantic_highlighting": {
"semantic_highlighting_request_count": 0
},
"processors": {
"search": {
"neural_sparse_two_phase_executions": 0,
"hybrid": {
"comb_harmonic_executions": 0,
"norm_zscore_executions": 0,
"comb_rrf_executions": 0,
"norm_l2_executions": 0,
"rank_based_normalization_processor_executions": 0,
"comb_arithmetic_executions": 0,
"normalization_processor_executions": 0,
"comb_geometric_executions": 0,
"norm_minmax_executions": 0
},
"rerank_by_field_executions": 0,
"neural_query_enricher_executions": 0,
"rerank_ml_executions": 0
},
"ingest": {
"skip_existing_executions": 0,
"text_chunking_fixed_token_length_executions": 0,
"sparse_encoding_executions": 0,
"text_chunking_fixed_char_length_executions": 0,
"text_chunking_executions": 0,
"text_embedding_executions": 0,
"semantic_field_executions": 0,
"semantic_field_chunking_executions": 0,
"text_chunking_delimiter_executions": 0,
"text_image_embedding_executions": 0
}
}
}
}
}
如果 include_metadata
为 true
,则每个统计对象都包含额外的元数据
{
...,
"text_embedding_executions": {
"value": 0,
"stat_type": "timestamped_event_counter",
"trailing_interval_value": 0,
"minutes_since_last_event": 29061801
},
...
}
有关更多信息,请参阅 可用元数据。
响应正文字段
以下部分描述了响应正文字段。
统计类别
下表列出了所有统计类别。
类别 | 数据类型 | 描述 |
---|---|---|
信息 | 对象 | 包含集群范围的信息和不特定于单个节点的统计数据。 |
所有节点 | 对象 | 提供集群中所有节点的聚合统计数据。 |
节点 | 对象 | 包含节点特定统计数据,每个节点由其唯一的节点 ID 标识。 |
可用统计数据
下表列出了可用的统计数据。对于路径前缀为 nodes.<node_id>
的统计数据,聚合的集群级统计数据也可以在相同路径前缀 all_nodes
下获得。
统计名称 | 类别 | 类别中的统计路径 | 描述 |
---|---|---|---|
cluster_version | 信息 | cluster_version | 集群版本。 |
信息统计数据:处理器
统计名称 | 类别 | 类别中的统计路径 | 描述 |
---|---|---|---|
text_embedding_processors_in_pipelines | 信息 | processors.ingest.text_embedding_processors_in_pipelines | 摄取管道中 text_embedding 处理器数量。 |
sparse_encoding_processors | 信息 | processors.ingest.sparse_encoding_processors | 摄取管道中 sparse_encoding 处理器数量。 |
skip_existing_processors | 信息 | processors.ingest.skip_existing_processors | 摄取管道中 skip_existing 设置为 true 的处理器数量。 |
text_image_embedding_processors | 信息 | processors.ingest.text_image_embedding_processors | 摄取管道中 text_image_embedding 处理器数量。 |
text_chunking_delimiter_processors | 信息 | processors.ingest.text_chunking_delimiter_processors | 摄取管道中使用 delimiter 算法的 text_chunking 处理器数量。 |
text_chunking_fixed_token_length_processors | 信息 | processors.ingest.text_chunking_fixed_token_length_processors | 摄取管道中使用 fixed_token_length 算法的 text_chunking 处理器数量。 |
text_chunking_fixed_char_length_processors | 信息 | processors.ingest.text_chunking_fixed_char_length_processors | 摄取管道中使用 fixed_character_length 算法的 text_chunking 处理器数量。 |
text_chunking_processors | 信息 | processors.ingest.text_chunking_processors | 摄取管道中 text_chunking 处理器数量。 |
rerank_ml_processors | 信息 | processors.search.rerank_ml_processors | 搜索管道中 ml_opensearch 类型的 rerank 处理器数量。 |
rerank_by_field_processors | 信息 | processors.search.rerank_by_field_processors | by_field 类型的 rerank 处理器数量。 |
neural_sparse_two_phase_processors | 信息 | processors.search.neural_sparse_two_phase_processors | 搜索管道中 neural_sparse_two_phase_processor 处理器数量。 |
neural_query_enricher_processors | 信息 | processors.search.neural_query_enricher_processors | 搜索管道中 neural_query_enricher 处理器数量。 |
信息统计数据:混合处理器
统计名称 | 类别 | 类别中的统计路径 | 描述 |
---|---|---|---|
normalization_processors | 信息 | processors.search.hybrid.normalization_processors | normalization-processor 处理器数量。 |
norm_minmax_processors | 信息 | processors.search.hybrid.norm_minmax_processors | normalization.technique 设置为 min_max 的 normalization-processor 处理器数量。 |
norm_l2_processors | 信息 | processors.search.hybrid.norm_l2_processors | normalization.technique 设置为 l2 的 normalization-processor 处理器数量。 |
norm_zscore_processors | 信息 | processors.search.hybrid.norm_zscore_processors | normalization.technique 设置为 z_score 的 normalization-processor 处理器数量。 |
comb_arithmetic_processors | 信息 | processors.search.hybrid.comb_arithmetic_processors | combination.technique 设置为 arithmetic_mean 的 normalization-processor 处理器数量。 |
comb_geometric_processors | 信息 | processors.search.hybrid.comb_geometric_processors | combination.technique 设置为 geometric_mean 的 normalization-processor 处理器数量。 |
comb_harmonic_processors | 信息 | processors.search.hybrid.comb_harmonic_processors | combination.technique 设置为 harmonic_mean 的 normalization-processor 处理器数量。 |
rank_based_normalization_processors | 信息 | processors.search.hybrid.rank_based_normalization_processors | score-ranker-processor 处理器数量。 |
comb_rrf_processors | 信息 | processors.search.hybrid.comb_rrf_processors | combination.technique 设置为 rrf 的 score-ranker-processor 处理器数量。 |
节点级统计数据:处理器
统计名称 | 类别 | 类别中的统计路径 | 描述 |
---|---|---|---|
text_embedding_executions | nodes , all_nodes | processors.ingest.text_embedding_executions | text_embedding 处理器执行次数。 |
skip_existing_executions | nodes , all_nodes | processors.ingest.skip_existing_executions | skip_existing 设置为 true 的处理器执行次数。 |
text_chunking_fixed_token_length_executions | nodes , all_nodes | processors.ingest.text_chunking_fixed_token_length_executions | 使用 fixed_token_length 算法的 text_chunking 处理器执行次数。 |
sparse_encoding_executions | nodes , all_nodes | processors.ingest.sparse_encoding_executions | sparse_encoding 处理器执行次数。 |
text_chunking_fixed_char_length_executions | nodes , all_nodes | processors.ingest.text_chunking_fixed_char_length_executions | 使用 fixed_character_length 算法的 text_chunking 处理器执行次数。 |
text_chunking_executions | nodes , all_nodes | processors.ingest.text_chunking_executions | text_chunking 处理器执行次数。 |
semantic_field_executions | nodes , all_nodes | processors.ingest.semantic_field_executions | semantic 字段系统处理器执行次数。 |
semantic_field_chunking_executions | nodes , all_nodes | processors.ingest.semantic_field_chunking_executions | semantic 字段系统分块处理器执行次数。 |
text_chunking_delimiter_executions | nodes , all_nodes | processors.ingest.text_chunking_delimiter_executions | 使用 delimiter 算法的 text_chunking 处理器执行次数。 |
text_image_embedding_executions | nodes , all_nodes | processors.ingest.text_image_embedding_executions | text_image_embedding 处理器执行次数。 |
neural_sparse_two_phase_executions | nodes , all_nodes | processors.search.neural_sparse_two_phase_executions | neural_sparse_two_phase_processor 处理器执行次数。 |
rerank_by_field_executions | nodes , all_nodes | processors.search.rerank_by_field_executions | by_field 类型的 rerank 处理器执行次数。 |
neural_query_enricher_executions | nodes , all_nodes | processors.search.neural_query_enricher_executions | neural_query_enricher 处理器执行次数。 |
rerank_ml_executions | nodes , all_nodes | processors.search.rerank_ml_executions | ml_opensearch 类型的 rerank 处理器执行次数。 |
节点级统计数据:混合处理器
统计名称 | 类别 | 类别中的统计路径 | 描述 |
---|---|---|---|
normalization_processor_executions | nodes , all_nodes | processors.search.hybrid.normalization_processor_executions | normalization-processor 处理器执行次数。 |
rank_based_normalization_processor_executions | nodes , all_nodes | processors.search.hybrid.rank_based_normalization_processor_executions | score-ranker-processor 处理器执行次数。 |
comb_harmonic_executions | nodes , all_nodes | processors.search.hybrid.comb_harmonic_executions | combination.technique 设置为 harmonic_mean 的 normalization-processor 处理器执行次数。 |
norm_zscore_executions | nodes , all_nodes | processors.search.hybrid.norm_zscore_executions | normalization.technique 设置为 z_score 的 normalization-processor 处理器执行次数。 |
comb_rrf_executions | nodes , all_nodes | processors.search.hybrid.comb_rrf_executions | combination.technique 设置为 rrf 的 score-ranker-processor 处理器执行次数。 |
norm_l2_executions | nodes , all_nodes | processors.search.hybrid.norm_l2_executions | normalization.technique 设置为 l2 的 normalization-processor 处理器执行次数。 |
comb_arithmetic_executions | nodes , all_nodes | processors.search.hybrid.comb_arithmetic_executions | combination.technique 设置为 arithmetic_mean 的 normalization-processor 处理器执行次数。 |
comb_geometric_executions | nodes , all_nodes | processors.search.hybrid.comb_geometric_executions | combination.technique 设置为 geometric_mean 的 normalization-processor 处理器执行次数。 |
norm_minmax_executions | nodes , all_nodes | processors.search.hybrid.norm_minmax_executions | normalization.technique 设置为 min_max 的 normalization-processor 处理器执行次数。 |
节点级统计数据:查询
统计名称 | 类别 | 类别中的统计路径 | 描述 |
---|---|---|---|
hybrid_query_with_pagination_requests | nodes , all_nodes | query.hybrid.hybrid_query_with_pagination_requests | 带分页的 hybrid 查询请求数量。 |
hybrid_query_with_filter_requests | nodes , all_nodes | query.hybrid.hybrid_query_with_filter_requests | 带过滤器的 hybrid 查询请求数量。 |
hybrid_query_with_inner_hits_requests | nodes , all_nodes | query.hybrid.hybrid_query_with_inner_hits_requests | 带内部命中的 hybrid 查询请求数量。 |
hybrid_query_requests | nodes , all_nodes | query.hybrid.hybrid_query_requests | hybrid 查询请求总数。 |
neural_query_against_semantic_sparse_requests | nodes , all_nodes | query.neural.neural_query_against_semantic_sparse_requests | 针对语义稀疏字段的 neural 查询请求数量。 |
neural_query_requests | nodes , all_nodes | query.neural.neural_query_requests | neural 查询请求总数。 |
neural_query_against_semantic_dense_requests | nodes , all_nodes | query.neural.neural_query_against_semantic_dense_requests | 针对语义密集字段的 neural 查询请求数量。 |
neural_query_against_knn_requests | nodes , all_nodes | query.neural.neural_query_against_knn_requests | 针对 k-NN 字段的 neural 查询请求数量。 |
neural_sparse_query_requests | nodes , all_nodes | query.neural_sparse.neural_sparse_query_requests | neural_sparse 查询请求数量。 |
节点级统计数据:语义高亮
统计名称 | 类别 | 类别中的统计路径 | 描述 |
---|---|---|---|
semantic_highlighting_request_count | nodes , all_nodes | semantic_highlighting.semantic_highlighting_request_count | semantic 高亮请求数量。 |
可用元数据
当 include_metadata
为 true
时,响应中的字段值将替换为其各自的元数据对象,其中包含有关统计类型的信息,如下表所述。
统计类型 | 描述 |
---|---|
信息字符串 | 提供信息内容(如版本或名称)的基本字符串值。参见 info_string 。 |
信息计数器 | 表示静态或缓慢变化数值的数字计数器。参见 info_counter 。 |
带时间戳的事件计数器 | 跟踪随时间变化的事件的计数器,包括关于近期活动的信息。参见 timestamped_event_counter 。 |
info_string
对象包含以下元数据字段。
元数据字段 | 数据类型 | 描述 |
---|---|---|
值 | 字符串 | 统计数据的实际字符串值。 |
stat_type | 字符串 | 始终设置为 info_string 。 |
info_counter
对象包含以下元数据字段。
元数据字段 | 数据类型 | 描述 |
---|---|---|
值 | 整数 | 当前计数值。 |
stat_type | 字符串 | 始终设置为 info_counter 。 |
timestamped_event_counter
对象包含以下元数据字段。
元数据字段 | 数据类型 | 描述 |
---|---|---|
值 | 整数 | 自节点启动以来发生的事件总数。 |
stat_type | 字符串 | 始终设置为 timestamped_event_counter 。 |
trailing_interval_value | 整数 | 过去 5 分钟内发生的事件数量。 |
minutes_since_last_event | 整数 | 自上次记录事件以来的时间量(分钟)。 |