请问如何用ElasticSearch实现中文长尾词分词及模糊查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计689个文字,预计阅读时间需要3分钟。
前言:ElasticSearch是一个高性能的分布式实时文档存储系统,每个字段都支持索引与搜索,并支持PB级别的结构化或非结构化数据。早期,我们使用的全局搜索仅是简单的SQL模糊查询。
前言:
ElasticSearch是一个一个分布式的实时文档存储,每一个字段都可以被索引与搜索,并且能支持PB级别的结构化或者非结构化数据。早期我们应用的全局搜索是简单的SQL模糊查询,为了分担数据库压力所以用了ES,选择他的原因除了以上几点外,还有其提供的API方式简单,于任何对接的编程语言都适用。以下将以PHP的业务场景完善搜索功能。
环境:
ThinkPHP5.1
ElasticSearch7.8
PHP7.3
功能迭代简介:
最开始的ES取代方法解决了搜索速度问题,后来新增的ik分词器,解决了搜索词条单一问题。单也正是中文分词原因,对每句话都是拆解成指定粒度的词。当遇到单词时,一般只会对一句话里的单词进行拆解,而搜索时需要输入某个字母,希望输出的是带字母后面的词条,也就是模糊查询。经过翻阅文档,发现了即时搜索。
即时搜索或输入即搜索(search-as-you-type),就是当用户习惯在输完查询内容之前,就能为他们展现搜索结果,不仅能在更短的时间内得到搜索结果,也能引导用户搜索索引中真实存在的结果。
本文共计689个文字,预计阅读时间需要3分钟。
前言:ElasticSearch是一个高性能的分布式实时文档存储系统,每个字段都支持索引与搜索,并支持PB级别的结构化或非结构化数据。早期,我们使用的全局搜索仅是简单的SQL模糊查询。
前言:
ElasticSearch是一个一个分布式的实时文档存储,每一个字段都可以被索引与搜索,并且能支持PB级别的结构化或者非结构化数据。早期我们应用的全局搜索是简单的SQL模糊查询,为了分担数据库压力所以用了ES,选择他的原因除了以上几点外,还有其提供的API方式简单,于任何对接的编程语言都适用。以下将以PHP的业务场景完善搜索功能。
环境:
ThinkPHP5.1
ElasticSearch7.8
PHP7.3
功能迭代简介:
最开始的ES取代方法解决了搜索速度问题,后来新增的ik分词器,解决了搜索词条单一问题。单也正是中文分词原因,对每句话都是拆解成指定粒度的词。当遇到单词时,一般只会对一句话里的单词进行拆解,而搜索时需要输入某个字母,希望输出的是带字母后面的词条,也就是模糊查询。经过翻阅文档,发现了即时搜索。
即时搜索或输入即搜索(search-as-you-type),就是当用户习惯在输完查询内容之前,就能为他们展现搜索结果,不仅能在更短的时间内得到搜索结果,也能引导用户搜索索引中真实存在的结果。

