ES使用_template配置IK分词器的问题链接:https://elasticsearch.cn/question/4930
在此感谢:laoyang360,God_lockin,rochy
上一个问题搞一个段落,但是我发现配置好了之后一个奇怪的现象,详情见附件图片流程
如果那么多图片不想看的话,我简要说明一下我的操作流程:
- 插入 数据 host_name:"service.exe"
- 使用term 查找 service -->查找不到.原因是ES默认的分词器把service.exe看成了一个整体,所有检索不到
- 配置_template,指定string类型的字段analyzer为ik_max_word
- 使用term 查找 service 可以检索到之前插入的数据, 说明IK分词器已经起了作用
- 使用query_string 单独检索service 检索不到任何内容, 但是指定了host_name域则可以检索到
问题: 我的疑问是为什么在IK分词器已经起作用的情况下,使用query_stirng还是检索不到service,指定了域就可以,难道这个和检索的范围相关吗?query_string不是在全部域中进行查找吗?
4 个回复
God_lockin
赞同来自: elasticStack
然后正常的query的语句和query_string 不太一样
querystring 要指明你检索的字段的
https://www.elastic.co/guide/e ... yntax
然后再改改检索条件试试?
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自: elasticStack
注意:.keyword类型的不同。
elasticStack - 90后it大数据男
赞同来自:
elasticStack - 90后it大数据男
赞同来自: