弹性搜索中是否有更好的方法(除了发布匹配所有查询和手动平均所有返回文档的长度以外)来获取特定索引的平均文档长度?Elasticsearch,获取平均文档长度
回答
的_size mapping field,如果允许,应该给你的每个文件的大小是免费的。将此与avg
聚合相结合应该可以得到你想要的。喜欢的东西:
{
"query" : {"match_all" : {}},
"aggs" : {"avg_size" : {"avg" : {"terms" : {"field" : "_size"}}}}
}
在黑暗中拍摄,但小面或聚合与脚本结合可能会做到这一点。
{
...,
"aggs" : {
"avg_length" : { "avg" : { "script" : "doc['_all'].length" } }
}
}
这实际上失败[email protected]f59))],从[0],大小[10]:查询失败[无法执行主查询]];嵌套:GroovyScriptExecutionException [MissingPropertyException [为org.elasticsearch.index.fielddata.ScriptDocValues $字符串评估属性“长度”的异常,原因:groovy.lang.MissingPropertyException:No such property:length for class:java.lang.String]]; “ –
尝试doc ['_ all']。values.size()而不是 – Arun
首先,_all字段并不总是存在,因为它取决于索引模板 其次,通过这种方式, _all字段是一个特殊的全部字段,它将所有其他字段的值连接成一个大字符串,使用空格作为分隔符,[...]按照https://www.elastic.co/guide/ en/elasticsearch/reference/current/mapping-all-field.html,它在6.x中被弃用 – lucabelluccini
我已经使用这个代码(我已经启用了_source)
{
"query" : {"match_all" : {}},
"aggs":{
"avg_length" : { "avg" : { "script" : "_source.toString().length()"}}
}
}
嗯,字符..。如果字符串是UTF-8,以获得字节:
{
"query" : {"match_all" : {}},
"aggs":{
"avg_length" : { "avg" : { "script" : "_source.toString().getBytes(\"UTF-8\").length"}}
}
}
- 1. 如何在Lucene中获得平均字段长度和文档长度?
- 2. elasticsearch平均查询和获取时间
- 3. GROUPBY获得平均长度名字
- 4. 计算平均文档长度使用Lucene
- 5. 平均字长度.txt
- 6. ArrayList:获取最长字符串的长度,获取字符串的平均长度
- 7. LISP - 如何从嵌套列表中获取平均长度?
- 8. 从频率词典获取字数和平均长度
- 9. 平均单词长度和平均句子长度的Java代码
- 10. 在elasticsearch中查找文档类型的平均商店大小
- 11. 获取平均值
- 12. 平均字长
- 13. 均化读取长度
- 14. 移动平均线移动长度
- 15. 可变长度VBA的平均行
- 16. 平均时间序列长度不同
- 17. 平均数据集长度不一
- 18. 平均单词长度java applet
- 19. Spark中的平均单词长度
- 20. 从ElasticSearch获取最后一个文档
- 21. 将R用于文本文件的平均句子长度
- 22. Python - 文件夹中所有文件的平均长度函数
- 23. 读取文本文件并计算每个第三个字的平均长度
- 24. jquery获取文档宽度
- 25. 获得使用python的单词的平均长度减少
- 26. 获取平均此查询
- 27. 期间获取平均数
- 28. 从dnorm获取平均值
- 29. 获取资金的平均
- 30. MySQL - 获取平均每行
我喜欢这个比我的回答更好:) –
如果你想获得文档的大小,你需要指示ES来存储大小对于每个文档:https://www.elastic.co/guide/en/elasticsearch/reference/1.4/mapping-size-field.html –
除非您使用Elasticsearch 2.0或更早版本,否则不支持此功能。 – lucabelluccini