es 中文前缀短语匹配(搜索智能补全)

需求 :es进行前缀匹配,用来进行智能补全
过程 :es正常的prefix只能进行词语匹配,而中文的分词大部分按字分词,不按语义分词,所以无法搜索出正确的前缀匹配,而能进行短语匹配的match_phrase_prefix匹配,是正常按前几个词进行匹配,最后一个词进行前缀匹配,也不满足要求。查阅很多资料发现,离正确答案只差一个keyword
代码

java 复制代码
curl -X POST "localhost:9200/information_completion/_search?pretty" -H 'Content-Type:application/json' -d '{
  "_source": ["text"],
  "text": {
    "prefix": {
      "text.keyword": "中云街"
    }
  }
}
'

参考资料

相关推荐
未秃头的程序猿4 小时前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试
用户298698530145 小时前
Word 文档文本查找与替换的 Java 实现方案
java·后端
Elasticsearch5 小时前
Elasticsearch ES|QL:现已支持视图、子查询和读取时模式定义
elasticsearch
阿哉5 小时前
Nacos 服务发现源码:藏在背后的两套事件机制,90%的人只讲了一半
java
咖啡八杯5 小时前
GoF设计模式——命令模式
java·设计模式·架构
AI人工智能_电脑小能手5 小时前
【大白话说Java面试题 第125题】【并发篇】第25题:说说 Java 线程的中断机制
java·后端·面试
Java内核笔记5 小时前
Spring Security 源码解析(六)无状态 JWT 实践:Session 共享与自定义过滤器
java·后端
荣码5 小时前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python
唐青枫7 小时前
Java 虚拟线程实战指南:从 Thread API 到 Spring Boot 高并发应用
java
白鲸开源1 天前
Apache SeaTunnel Zeta Engine 的 Basic Auth 是怎么工作的?
java·vue.js·github