您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

ElasticSearch-有关字符串字段长度的统计信息

ElasticSearch-有关字符串字段长度的统计信息

我实际上没有尝试过以下方法,但我认为它应该可以工作。

首先是一些有用的文档参考:

http://www.elasticsearch.org/guide/zh- CN/elasticsearch/reference/current/search-facets-statistical- facet.html。

为了实现统计方面,相关字段值已从索引加载到内存中。这意味着每个分片应该有足够的内存来容纳它们。由于认情况下,动态引入的类型为long和double,因此减少内存占用的一种方法是在可能的情况下将相关字段的类型显式设置为short,integer或float。

我不确定如何直接将脚本字段的类型设置为“短”,这可能正是您想要的。减少内存。不过应该有可能。

还:http ://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search- request-script- fields.html

了解doc [‘my_field’]。value和_source.my_field之间的区别很重要。首先,使用doc关键字将导致将该字段的术语加载到内存中(缓存),这将导致执行速度更快,但会占用更多内存。另外,doc表示法仅允许使用简单值字段(无法从中返回json对象),并且仅在未分析或基于单个术语的字段中有意义。

因此,替代:将使用_source而不是doc不缓存长度。

给出:

    {
        "query" : {
            "match_all" : {}
        },
        "facets" : {
            "stat1" : {
                "statistical" : {
                    "script" : "doc['title'].value.length()
                    //"script" : "_source.title.length() //ALTERNATIVE which isn't cached
                }
            }
        }
    }
其他 2022/1/1 18:22:36 有787人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶