我是Kibana的新手,将数据加载到Elastic 5.0.0-alpha3中,并使用Kibana 5.0.0-alpha3进行可视化。我可以将一些数值字段显示为直方图,但当我想要使用文本字段时,我会得到:
Visualize: Fielddata is disabled on text fields by default. Set fielddata=true on [publisher] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory.
我被警告说数据(出版商的名字)可能已经被分析成子字段,但我还是想显示出来。
如何设置fielddata=true
编辑: Kibana github上的最新问题表明,这是5.0.0中的一个新功能,还在等待答案!
编辑(遵循@Val的回答,寻求Elastic菜鸟的帮助,并希望其他人会发现它很有用)。摄取脚本为:
fs = require('fs')
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
fs.readFile('/Users/pm286/workspace/cmdev/getpapers/20160602/crossref_results.json', (err, data) => {
if (err) throw err;
document = JSON.parse(data)
document = JSON.parse(data)
for(i=0;i<document.length;i++) {
client.create({
index: 'index',
type: 'type',
body: document[i]
})
}
});
如何将@Val的方法包含在其中?
发布于 2017-02-07 22:51:06
因为你使用的是Elastic 5.x (我写这篇文章的时候5.2已经发布了),所以你应该使用新的关键字support,而不是在索引字段上启用fielddata。
https://www.elastic.co/guide/en/elasticsearch/reference/5.2/fielddata.html提供了关于优点和缺点以及如何设置的很好的信息。在该页面中:
PUT my_index
{
"mappings": {
"my_type": {
"properties": {
"my_field": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
}
}
然后使用'my_field‘字段进行搜索,使用'my_field.keyword’字段进行聚合、排序或在脚本中使用。
my_field.keyword是您在Kibana / Grafana中使用的。
发布于 2019-10-15 11:28:29
如果您来自"ElasticsearchThe权威指南“这本书,请尝试更改以下内容
"terms" : { "field" : "interests" },
至
"terms" : { "field" : "interests.keyword" },
因此,要运行的代码将变成;
GET /megacorp/employee/_search
{
"aggs": {
"all_interests": {
"terms": { "field": "interests.keyword"}
}
}
}
发布于 2017-08-24 04:44:15
这段代码解决了这个问题。
PUT megacorp/_mapping/employee
{
"employee": {
"properties": {
"interests": {
"type": "text",
"fielddata": true
}
}
}
}
因此这段代码将在之后运行:
GET /megacorp/employee/_search
{
"aggs": {
"all_interests": {
"terms": { "field": "interests"}
}
}
}
https://stackoverflow.com/questions/38145991
复制相似问题