Elasticsearch 大文本字段中的中文精确查询
中文精确查询用Elasticsearch怎么做? Google了不少文章,个人觉得没有抓住重点,或者Elasticsearch升级后有所改变。
背景介绍
前人精品文章推荐
简单来讲,从Elasticsearch设计的初衷来讲, match查询用来做搜索引擎类似的评分查询,精确匹配查询用term来做,参见各种Elasticsearch的手册,不展开。中文的精确查询由于存在index保存阶段的分词和search阶段的分词,所以直接沿用这些方法并不适用。
问题:中文查询用match能查到,用term查不到。
准确的说是比如字段 title:北京奥运 , 查找 “北京奥运” ok, 查找 “北京” 没有,查找"北"在默认情况下可以找到很多。
解决办法: 采用term查询里面的wildcard query
GET /_search { "query": { "wildcard" : { "user" : "ki*y" } } }
注意事项
Elasticsearch 6.0版本 Text字段 不再提供 not_analysed 属性,请改用keyword类型, 字段长度受限: Lucene's term byte-length limit of 32766 。中文utf8字符串长度 32766/4=8190+ 比较保险。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
hadoop入门学习教程--DKHadoop完整安装步骤
hadoop入门学习教程--DKHadoop完整安装步骤使用hadoop版本是DKH标准三节点发行版,DKHadoop版本的易用性比较好,环境部署要简单的多,参考此篇安装前请先下载DKHadoop版本,网盘链接:https://pan.baidu.com/s/1-427Sh6lTLrLAPh6KMOYVg 提取码:vg2w 第一部分:准备工作1、 大数据平台所需配置:(1) 系统:CentOS 6.5 64位(需默认安装Desktop)(2) CPU :intel E3及以上。(3) 内存:建议最小8G,用图计算建议32G,推荐128G。(4) 硬盘:256G以上,推荐使用固态硬盘。(5) 系统分区要求: 如无特殊需求,除swap分区外,可将剩余空间全部分配到/(根)分区(6) 网络要求:如无特殊情况,尽量可以接入外网。(7) 至少三台服务器(三台服务器名字任意起,密码须一致)。 (8)安装使用root用户作为默认用户2、 远程上传和远程连接工具:(1) 若直接使用个人PC开启的虚拟机作为服务器的基础,直接拷贝到虚拟机下即可。(2) 若是使用机房服务器作平台搭建的服务器,如若不能直接接...
- 下一篇
Jcseg 2.4.0 发布,Java 轻量级开源自然语言处理包
Jcseg是基于mmseg算法的一个轻量级中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言直接http调用,同时提供了最新版本的lucene,solr和elasticsearch的分词接口! Jcseg 2.4.0更新如下: 1,修复时间组合实体识别的bug,有时候会出现错误组合的情况。 2,优化NLP模式的时间实体的识别,区分组合时间,例如:"米"实体为"length.m","3米"为"nuc_length.m"。 长度单位/null 米/n/length.m ,/w/null 例如/d/null 这/r/null 根/q/null 线/q/null 长/d/null 3米/q/nuc_length.m 3,依据百度的汉语数据修复词条中的部分拼音错误:https://gitee.com/lionsoul/jcseg/commit/4f08a01ea94828e4c4ac585a744b4755f33c8c4b 4,修复中文数字转阿拉伯数字后词条的offset错误。 5,依据百度的汉语数据修复词条...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19
- Red5直播服务器,属于Java语言的直播服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题