gpt4 book ai didi

php - Elasticsearch,忽略GET响应中的内置映射详细信息

转载 作者:行者123 更新时间:2023-12-03 01:29:11 25 4
gpt4 key购买 nike

Elasticsearch:v7.0
应用程序:Laravel v5.8
使用Elasticsearch / Elasticsearch(https://github.com/elastic/elasticsearch-php)PHP库

我们一次可以查询超过900,000个文档,并且我们计划优化或加快查询速度。

我们已经观察到内置映射的详细信息总是与响应一起返回(请参见下图)

enter image description here

主要问题
-有没有办法忽略这些映射详细信息,因为我们认为,如果不包含这些详细信息,响应会更轻松。

侧面问题
-或者至少,我是否可以谦虚地请任何人来教育我优化我的Laravel-Elasticsearch应用程序?

最佳答案

您可以使用filter_path忽略映射详细信息,该信息可用于减少查询返回的响应。

例如如果您点击:

GET geo/_search
{
"query": {
"match_all": {}
}
}

你会得到:
{
"took" : 8,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 206,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "geo",
"_type" : "_doc",
"_id" : "ALLE",
"_score" : 1.0,
"_source" : {
"dateFrom" : null,
"aListRemoved" : [ ],
"phone" : "0036-1-424-2242",
...

但是,如果您使用 filter_path:
GET geo/_search?filter_path=hits.hits._source
{
"query": {
"match_all": {}
}
}

您将获得没有分片数量,点击关系,max_score等的结果:
{
"hits" : {
"hits" : [
{
"_source" : {
"dateFrom" : null,
"aListRemoved" : [ ],
"phone" : "0036-1-424-2242",
...

仅仅因为您需要描述您想做的事情以及您打算使用哪种查询,就不能回答其他问题。要跳过计分(如果不需要)并提高性能,可以使用 filterconstant_score查询。

here描述了有关调整 ES集群以提高搜索速度的一些建议

关于php - Elasticsearch,忽略GET响应中的内置映射详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56850269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com