elasticsearch实现基于拼音搜索】的更多相关文章

php根据汉字获取拼音(php基于拼音搜索实现原理) 代码一:获取字符串汉字首字母,兼容GBK和UTF-8 <?php function getfirstchar($s0){   //获取单个汉字拼音首字母.注意:此处不要纠结.汉字拼音是没有以U和V开头的     $fchar = ord($s0{0});     if($fchar >= ord("A") and $fchar <= ord("z") )return strtoupper($s0…
需求 雪花啤酒  需要搜索雪花.啤酒 .雪花啤酒.xh.pj.xh啤酒.雪花pj ik导入 参考https://www.cnblogs.com/LQBlog/p/10443862.html,不需要修改源码步骤就行 拼音分词器导入 跟ik一样 下载下来打包移动到es plugins 目录名字改为pinyin https://github.com/medcl/elasticsearch-analysis-pinyin 测试 get请求:http://127.0.0.1:9200/_analyze b…
拼音搜索在中文搜索环境中是经常使用的一种功能,用户只需要输入关键词的拼音全拼或者拼音首字母,搜索引擎就可以搜索出相关结果.在国内,中文输入法基本上都是基于汉语拼音的,这种在符合用户输入习惯的条件下缩短用户输入时间的功能是非常受欢迎的: 一.安装拼音搜索插件 下载对应版本的elasticsearch-analysis-pinyin插件: https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.9.2/e…
在做搜索的时候,下拉联想词的搜索肯定是最常见的一个场景,用户在输入的时候,要自动补全词干,说得简单点,就是以...开头搜索,如果是数据库,一句SQL就很容易实现,但在elasticsearch如何实现呢? 大家可能会立马想到用elasticsearch自带的suggest功能,确实,在一些初级应用场景,特别是数据量比较少的情况下,suggest可以快速简易的解决问题. 在数据量比较大的时候,性能有待提高,而且遇到复杂场景,suggest就会显得力不从心,看下面一个需求: 1.下拉结果需要根据城市…
ElasticSearch 2 (9) - 在ElasticSearch之下(图解搜索的故事) 摘要 先自上而下,后自底向上的介绍ElasticSearch的底层工作原理,试图回答以下问题: 为什么我的搜索 *foo-bar* 无法匹配 foo-bar ? 为什么增加更多的文件会压缩索引(Index)? 为什么ElasticSearch占用很多内存? 版本 elasticsearch版本: elasticsearch-2.2.0 内容 图解ElasticSearch 云上的集群 集群里的盒子 云…
文档是结合几个博客整理出来的,内容大部分为转载内容.在使用过程中,对一些疑问点进行了整理与解析. Elasticsearch java api 基本搜索部分详解 ElasticSearch 常用的查询过滤语句 一.所使用版本的介绍 使用的是elasticsearch2.4.3版本,在此只是简单介绍搜索部分的api使用 二.简单的搜索 使用api的时候,基本上可以将DSL搜索的所有情况均写出来,在此给出一个最简单搜索的全部的过程以及代码,之后将对不同的搜索只是针对函数进行介绍 (1)DSL搜索 对…
ElasticSearch 2 (9) - 在ElasticSearch之下(图解搜索的故事) 摘要 先自上而下,后自底向上的介绍ElasticSearch的底层工作原理,试图回答以下问题: 为什么我的搜索 *foo-bar* 无法匹配 foo-bar ? 为什么增加更多的文件会压缩索引(Index)? 为什么ElasticSearch占用很多内存? 版本 elasticsearch版本: elasticsearch-2.2.0 内容 图解ElasticSearch 云上的集群 集群里的盒子 云…
一.前言 上篇介绍了 ES 的同义词搜索,使我们的搜索更强大了,然而这还远远不够,在实际使用中还可能希望搜索「fanqie」能将包含「番茄」的结果也罗列出来,这就涉及到拼音搜索了,本篇将介绍如何具体实现. 二.安装 ES 拼音插件 2.1 拼音插件简介 GitHub 地址:https://github.com/medcl/elasticsearch-analysis-pinyin 2.2 安装步骤 ① 进入 ES 的 bin 目录 $ cd /usr/local/elasticsearch/bi…
ElasticSearch 2 (18) - 深入搜索系列之控制相关度 摘要 处理结构化数据(比如:时间.数字.字符串.枚举)的数据库只需要检查一个文档(或行,在关系数据库)是否与查询匹配. 布尔是/非匹配是全文搜索的基础部分,但不止这些,我们也同样需要知道每个文档与查询的相关度,在全文搜索引擎中我们不仅需要找到匹配的文档,还需要根据他们相关度的高低,对他们进行排序. 全文相关的公式或相似算法(similarity algorithms) 会将多个因素合并起来,为每个文档生成一个相关度分数 *_…
ElasticSearch 2 (17) - 深入搜索系列之部分匹配 摘要 到目前为止,我们介绍的所有查询都是基于完整术语的,为了匹配,最小的单元为单个术语,我们只能查找反向索引中存在的术语. 但是,如果我们想匹配部分术语而不是全部改怎么办?部分匹配(Partial matching) 允许用户指定查找术语的一部分,然后找出所有包含这部分片段的词. 与我们想象的不一样,需要对术语进行部分匹配的需求在全文搜索引擎的世界并不常见,但是如果读者有SQL方面的背景,可能会在某个时候使用下面的SQL语句对…