搜索速度和准确性。
- 下载并安装 ElasticSearch
首先需要下载 ElasticSearch 并解压缩到本地目录。然后打开命令行窗口,进入 ElasticSearch 的 bin 目录,输入以下命令启动 ElasticSearch:
./elasticsearch
- 安装 IK 分词器插件
ElasticSearch 默认的分词器对中文支持不够好,所以我们需要安装 IK 分词器来实现更好的中文分词。在安装之前,需要先确定自己使用的 ElasticSearch 版本,并找到对应版本的分词器插件。
以 ElasticSearch 7.10.2 版本为例,我们可以在 https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.10.2 下载对应版本的插件。下载完成后,进入 ElasticSearch 的 bin 目录,输入以下命令进行安装:
./elasticsearch-plugin install file:///path/to/elasticsearch-analysis-ik-7.10.2.zip
- 创建索引和映射
在开始使用 ElasticSearch 进行全文检索之前,需要先创建一个索引,并定义好字段的数据类型和分词器等信息。
PUT /my_index
{
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "ik_smart"
},
"content": {
"type": "text",
"analyzer": "ik_smart"
}
}
}
}
以上代码创建了一个名为 my_index 的索引,包含两个字段:title 和 content。这两个字段的类型都是 text,使用 ik_smart 分词器进行分词处理。
- 添加文档
接下来需要向索引中添加一些文档,用于后续的检索操作。
POST /my_index/_doc
{
"title": "ElasticSearch 全文检索",
"content": "ElasticSearch 是一款开源的全文检索引擎,支持分布式部署和实时搜索等功能。"
}
POST /my_index/_doc
{
"title": "ElasticSearch 中文分词",
"content": "在 ElasticSearch 中使用 IK 分词器进行中文分词能够提高搜索准确性。"
}
以上代码向 my_index 索引中添加了两篇文档,分别包含 title 和 content 两个字段的内容。
- 进行查询
现在可以使用 ElasticSearch 进行全文检索了。以下是一个简单的例子,用于搜索包含关键字 “ElasticSearch” 的文档:
GET /my_index/_search
{
"query": {
"match": {
"content": "ElasticSearch"
}
}
}
以上代码会返回所有包含关键字 “ElasticSearch” 的文档。如果只想搜索 title 字段,可以将 match 查询替换为 match_phrase_prefix 查询。
GET /my_index/_search
{
"query": {
"match_phrase_prefix": {
"title": "ElasticSearch"
}
}
}
以上代码会返回所有 title 字段以 “ElasticSearch” 开头的文档。
总之,熟练掌握 ElasticSearch 的全文检索功能,能够大幅提升网站的搜索效率和用户体验。而安装 IK 分词器则是中文网站必不可少的优化措施之一。