Elasticsearch分词导致的查找错误
2024-08-29 10:17:52
这周在做视频搜索的过程中遇到一个问题,就是用下面的查询表达式去Elasticsearch检索,检索不到想要的结果。查询语句如下:
而查询的字段的值为:
"mergeVideoName": "奔跑吧兄弟“
按照match_phrase的查询应该是能够查询到结果。可是事实就是查询结果为空。开始考虑是不是因为match_phrase的原因,于是将
match_phrase换成match还是查询不到结果。可是将查询中的奔跑换成奔跑吧以后就能够查询到结果。很是疑惑。
在网上找了很多资料,也没能解释这个原因,最后想到可能是分词导致,我们选用的ik中文分词器中的ik_max_word。
通过将奔跑吧兄弟分词的结果如下:
而奔跑这个词的分词结果如下:
因此,在match_phrase的时候奔跑分词以后的跑在上面的字段索引时候的倒排索引表中找不到,因此才会出现查不到这条数据。
最新文章
- MS SQLServer 批量附加数据库 分类: SQL Server 数据库 2015-07-13 11:12 30人阅读 评论(0) 收藏
- React 组件性能优化
- Windows下 VM12虚拟机安装OS X 10.11 和VM TOOLS
- Android studio .9图片造成的错误总结
- Java 线程通信
- Oracle学习整理
- js制作带有遮罩弹出层实现登录小窗口
- 【MVC】ASP.NET MVC 请求生命周期
- codeforces #236 div2 简洁题解
- Easyui + jQuery表单提交 给 Controller patr1
- iOS开发播放文本
- jQuery Ajax跨域问题简易解决方案
- JAVA面向对象-----extends关键字
- 1052. Linked List Sorting (25)
- Android 仿百合网超火爆社交app首页滑动效果
- [Harbor]Harbor简要介绍
- php5.4新功能Traits
- 常用的移动前端webapp交互细节
- Nginx 负载均衡一致性算法
- C# Form Chart X刻度左右多余一格怎么去掉
热门文章
- jmeter中基于oracle的JDBC Request的使用
- CodeForces 500E New Year Domino
- POJ 3281 网络流 拆点 Dining
- POJ - 1321 深度优先搜索入门
- 光学字符识别OCR-3
- 大数据学习——actor编程
- [译]PYTHON FUNCTIONS - MAP, FILTER, AND REDUCE
- Codeforces Round #345 (Div. 2)——B. Beautiful Paintings(贪心求上升序列个数)
- 学习 WebService 第四步:利用WSDL(URL)生成WebService客户端<;初级>;
- wamp出现You don’t have permission to access/on this server提示