怎样进行搜索引擎优化(建词库用ES的基本使用方法,你知道吗? )

优采云 发布时间: 2021-11-15 15:16

  怎样进行搜索引擎优化(建词库用ES的基本使用方法,你知道吗?

)

  前言:

  开发项目一般都有搜索功能。如果是面向C端的搜索功能,往往会特别考验性能。比如普通商城系统中的商品搜索或者一些资源的站内搜索。

  可能之前的做法是通过名称或产品描述对产品表进行模糊查询。最好将搜索关键字进行细分,并建立一个特殊的搜索字典表。但是前期需要对搜索词进行拆解,然后将power set与产品ID进行组合和关联。搜索词和同义词表中的词以完全匹配的方式查询,并找到产品ID。

  虽然建词库表也是一个不错的方案,但是拆数据库建索引比较麻烦。于是我也在网上了解了elasticsearch。我打算将来使用 ES 进行站内搜索。这里简单介绍一下他的基本用法。

  ES介绍:

  ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个基于 RESTful Web 界面的具有分布式多用户功能的全文搜索引擎。Elasticsearch 是用 Java 开发的,并根据 Apache 许可条款作为开源发布。它是一个流行的企业搜索引擎。专为在云计算中使用而设计,可实现实时搜索,稳定可靠,速度快,安装使用方便。

  下载并安装:

  1. 根据自己的系统找官网下载对应的版本,目前200M以上。

  

  2. 解压后打开目录下bin中的“elasticsearch.bat”启动。

  

  3. 启动时间比较慢。下面只演示单机单节点的使用,分布式以后可以配置。

  

  编码用途:

  下面是使用ThinkPHP6.0.2的演示,所以开启ES服务后,先打开浏览器访问127.0.0. 1:9200 , 如果返回如下,则表示打开成功。

  

  1. ThinkPHP6.0 通过composer install elasticsearch/elasticsearch下载ES依赖包。如果 composer 速度较慢,您可以在安装前尝试下载方法。

  

  

  而且每次要在本地使用ES,必须先打开elasticsearch.bat文件,否则会出现如下提示。

  

  2. 在使用之前,需要了解 ES 的几个术语:Index、Type、Document、Field 和 Mapping。并且 ES 查询采用restful风格,因此您可以将前面的名词与 MySQL 数据库、表、列和 SQL 相关联。例如,一个索引相当于一个 MySQL 数据库,一个文档相当于一个表中的一条记录。Restful 请求类似于 SQL 语句。比如GET index name/Type/ID可以获取文档数据,POST、PUT、DELETE等创建索引,创建/修改/删除文档等,查询官方文档,然后使用POSTMAN不同的请求 12 7.0.0.1:9200。

  

  3. 现在回到 ThinkPHP6,安装 ES 依赖后。可以封装一个ES基本方法工具类。

<p>

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线