你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
rochy - rochy_he
赞同来自:
zz_hello
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
端小强 - 90后Java
要回复问题请先登录或注册
菜鸟
4 个回复
rochy - rochy_he
赞同来自:
而你想通过搜索 hi 搜到 china 或者 668 搜索到 187987668
那么你需要使用通配符搜索方式 Wildcard Query 进行搜索
可以参考官方文档:https://www.elastic.co/guide/e ... .html
推荐你使用 boolQuery 将 matchQuery 和 wildcardQuery 结合起来搜索,搜索结果应该可以满足你的预期
zz_hello
赞同来自:
如果存储的是单个的词,完全可以用keyword类型,用term查询
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
2搜索词的position和文章position不一致导致短语匹配检索不到,
解决方案:
1动态索引和动态更新词典和别名结合使用,
2多种分词模式结合检索,举例:standard和ik结合检索
端小强 - 90后Java
赞同来自:
我最近做的功能里面要求多字段匹配,name和brand适用ik分词匹配,code字段适用ngram实现模糊搜索,查询时适用multi_match进行多字段匹配。具体怎么查询还是要根据你的场景。