怎样进行搜索引擎优化(建词库用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>