在索引中跨文档映射为void decompress(Bytef *src, int src_len, Bytef *dst, int dst_len)
{
z_stream strm = {0};
strm.zalloc = Z_NULL;
strm.zfree = Z_NULL;
strm.opaque = Z_NULL;
while (src_len > 0)
{
strm.total_in = strm.avail_in = src_len;
strm.total_out = strm.avail_out = dst_len;
strm.next_in = src;
strm.next_out = (Bytef *) dst;
assert(inflateInit2(&strm, (MAX_WBITS + 16)) == Z_OK);
decompress_block(&strm, dst);
unsigned int processed = src_len - strm.avail_in;
src_len -= processed;
src += processed;
}
}
int decompress_block(z_stream *strm, void *dst)
{
int ret;
do
{
ret = inflate(strm, Z_NO_FLUSH);
assert(ret != Z_STREAM_ERROR && ret != Z_NEED_DICT && ret != Z_MEM_ERROR && ret != Z_DATA_ERROR);
assert(strm->avail_out > 0);
}
while (ret != Z_STREAM_END);
inflateEnd(strm);
assert(write(1, dst, strm->total_out) == strm->total_out);
return 0;
}
的{{1}}字段中,我无法显示kibana中的单词出现情况。
我的第一次尝试涉及分析仪的使用。但是我一直无法以任何方式更改文档,索引映射影响了分析器,但是没有字段反映分析。
这是简化的映射:
full_text
但是我仍然看不到我希望保存在"type": "keyword"
字段下的单词数组,实际上该字段不存在,我想知道为什么
答案 0 :(得分:0)
设置fielddata=true
link似乎很受挫,但仍然解决了我的问题(至少目前如此),并允许我在kibana中直观地看到了发生的情况(或绝对频率)文档中text
字段中的每个单词。
因此,提议的简化映射的最终版本变为:
{
"mappings": {
"doc": {
"properties": {
"text": {
"type": "text",
"analyzer": "rebuilt",
"fielddata": true
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
},
"settings": {
"analysis": {
"analyzer": {
"rebuilt": {
"tokenizer": "standard"
}
}
},
"index.mapping.ignore_malformed": true,
"index.mapping.total_fields.limit": 2000
}
}
摆脱无用的analyzed
字段。
我仍然需要检查kibana的性能。如果有人对这个问题有性能安全的解决方案,请不要犹豫。
谢谢。