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": "中云街"
    }
  }
}
'

参考资料

相关推荐
D***M976几秒前
SpringBoot 项目如何使用 pageHelper 做分页处理 (含两种依赖方式)
java
桦说编程几秒前
JDK1.8+ 中 ConcurrentHashMap#computeIfAbsent 源码解析与使用建议
java·后端·性能优化
2301_807288633 分钟前
MPRPC项目制作(第四天)
java·服务器·前端
TechMasterPlus13 分钟前
SpringBoot-RestController
java·spring boot·后端
m***667313 分钟前
Java实战:Spring Boot application.yml配置文件详解
java·网络·spring boot
棱角°14 分钟前
finally与return对于返回值的影响
java·finally·return
二川bro18 分钟前
内存泄漏检测:Python内存管理深度解析
java·开发语言·python
执笔论英雄28 分钟前
【RL】async_engine 远离
java·开发语言·网络
武子康33 分钟前
AI研究-133 Java vs Kotlin/Go/Rust/Python/Node:2025 详细对比分析 定位与取舍指南
java·javascript·python·golang·rust·kotlin·node
k***921636 分钟前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端