1、有个查询如下,在Kibana 的 DevTools中进行脚本查询,是支持medcl中文分词插件的:
2、但是,在Discover面板的查询输入框输入:
每次都手写 完整的查询语句很繁琐,kibana这么简单易用、功能强大的querystring输入框偏偏不支持中文分词插件。
请问如何设置能让kibana的简单查询也能支持中文分词?
GET article/_search
{
"query": {
"bool": {
"must": [
{
"wildcard": {
"contents.keyword": "*测试*"
}
}
]
}
}
}
出来的结果匹配“测试”这个词。2、但是,在Discover面板的查询输入框输入:
contents.keyword:*测试*
得到的是无分词插件的结果,比如匹配到的是“测定”,“评测”,“测量”等包含第一个单字的结果。每次都手写 完整的查询语句很繁琐,kibana这么简单易用、功能强大的querystring输入框偏偏不支持中文分词插件。
请问如何设置能让kibana的简单查询也能支持中文分词?
3 个回复
ilangge
赞同来自:
尝试了如下的querystring,可以在查询模式下执行成功:
"query": "contents:营业税" 不能写成 "query": "contents:*营业税*",加了*号反而查询无结果。
环境为es5.0 rtf,就是medlc 大大 自己维护的那个rtf集成包,集成了ik中文分词插件。
没人回答的话,准备自己在chrome中获取post过去的语句了,看差异在哪里。为啥一个有分词一个没有分词。
zaqweb
赞同来自:
ilangge
赞同来自:
抓到的语句:
生成的语句存在几个问题导致查询异常:
1、强制在一个日期字段rq上做聚合,这个字段可能有空置,或者不是标准的日期类型,可能是个string类型,聚合chu出错,去掉日期字段相关操作,就正常了;
2、多余的:
多了这个东西,整个json语句都是不对的。
3、精简后成如下语句:
一切正常了。
方便的输入框背后是加了很多隐含条件,加了料,对于用不可见,导致了不可预料的后果。
如何规避这个问题,我暂时没想到。先试试添加一个规范的时间戳字段再说。毕竟Kibana专业做日志分析,时间zhi字段是基础。