Elastic Search 8.6.2简单操作
Posted 悦睹人生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elastic Search 8.6.2简单操作相关的知识,希望对你有一定的参考价值。
Elastic Search 8.6.2简单操作
工欲善其事,必先利其器,学习Elastic Search在命令行操作非常不友好,后面涉及到操作命令都在Kinbana控制台来制作。安装的话可以参考《 Elastic Search 8.6.2集群安装部署》。本文中简单介绍一下简单DSL操作,后续文章会详细介绍DSL操作。
![](https://image.cha138.com/20230324/5c76f5dbab714b1d9c3c2984f1504522.jpg)
Kinbana 8.6.2安装
Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作,只做最简单安装。
重置kibana用户的密码:
sh /usr/local/setup/elasticsearch-8.6.2/bin/elasticsearch-reset-password - u kibana
Password for the [kibana] user successfully reset.
New value: _xr9bJQwh8OME_xZ5isb
Kibana 8.6.2最新版本下载地址:
https://www.elastic.co/cn/downloads/kibana
上传kibana-8.6.2-linux-x86_64.tar.gz包到 /usr/local/setup
tar -vzxf kibana-8.6.2-linux-x86_64.tar.gz
vi /usr/local/setup/kibana-8.6.2/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.username: "kibana"
elasticsearch.password: "_xr9bJQwh8OME_xZ5isb"
后台启动kibana
nohup sh /usr/local/setup/kibana-8.6.2/bin/kibana > /dev/null &
![](https://image.cha138.com/20230324/1e30491b72df4d81bcb2b6ba0a672bd5.jpg)
使用用户elastic密码hhxxttxs123BoSs465登录,访问kibana首页->Manager->DevTools
![](https://image.cha138.com/20230324/4ce7f3f187924113a90a4763c3a4e11d.jpg)
2.创建索引
使用搜索首先要创建数据集对象,也就是创建索引。现以一篇资讯文章为例子,应该包括文章标题、作者、摘要、内容、阅读量等。对于文章来说需要对标题、摘要、内容进行模糊搜索,所以应该定义成文本型(text);对于作者只需要判断是否相等就可以,定义为普通的关键词类型(keyword);阅读量只需要进行大小比较,所以直接定义为数值类型(interger)。
PUT /article "mappings": "properties": "title": "type":"text" , "brief": "type":"text" , "author": "type":"keyword" , "content": "type":"text" , "readNumber": "type":"integer"
|
"acknowledged": true, "shards_acknowledged": true, "index": "article" |
![](https://image.cha138.com/20230324/4bfe5c6bd22141659e8144474fdd03b3.jpg)
3写入文档
现在article索引已经创建完成,现在准备在索引中写入示例数据,方便后续搜索功能演示。在目标索引写入资讯文章数据,执行下列命令后,会创建一条ID为002的文档。
POST /article_doc/002 "title":"浙江丽水:住房公积金贷款最高限额拟提至100万元", "brief": "【浙江丽水:住房公积金贷款最高限额拟提至100万元】财联社3月21日电,浙江省丽水市住房公积金管理中心就《关于进一步完善住房公积金政策的通知(征求意见稿)》公开征求意见。", "author":"黄宁", "content":"【浙江丽水:住房公积金贷款最高限额拟提至100万元】财联社3月21日电,浙江省丽水市住房公积金管理中心就《关于进一步完善住房公积金政策的通知(征求意见稿)》公开征求意见,职工首次申请住房公积金贷款购买首套自住住房的,双缴存职工最高限额由80万元上调为100万元;单缴存职工最高限额由40万元上调为60万元。职工二次申请住房公积金贷款或购买第二套自住住房的,双缴存职工最高限额由60万元上调为80万元;单缴存职工最高限额由30万元上调为50万元。同一对夫妻符合国家政策生育二孩、三孩的职工家庭购买自住住房申请住房公积金贷款的,住房公积金贷款最高限额上浮20%。同一对夫妻符合国家政策生育二孩、三孩的职工家庭市场租赁自住住房的,提取限额上浮50%。在个人住房公积金贷款最高限额内,贷款申请人实际可贷额度由不超过贷款申请人夫妻双方近12月(含申请贷款当月)住房公积金账户月均余额的10倍调整为20倍。支持新市民、青年人贷款需求,全市住房公积金贷款保底额度调整为每户30万元。", "readNumber":"188" |
"_index": "article", "_id": "001", "_version": 1, "result": "created", "_shards": "total": 2, "successful": 2, "failed": 0 , "_seq_no": 0, "_primary_term": 1 |
![](https://image.cha138.com/20230324/5ab85e3d63124ee3a5218967c0f52967.jpg)
4.搜索文档
4.1根据id搜索文章
简单搜索,可以直接根据文档ID定位某个文档,例如:
GET /article/_doc/001 |
"_index": "article", "_id": "001", "_version": 1, "_seq_no": 0, "_primary_term": 1, "found": true, "_source": "title": "浙江...", "brief": "【浙江丽水...", "author": "黄宁", "content": "【浙江丽水:住房公积...", "readNumber": "188"
|
![](https://image.cha138.com/20230324/8a602068a8aa4a3c9be70b482e24519f.jpg)
4.2根据字段搜索文章
搜索命令时需要用到query语句,如果需要根据作者把相关文章搜索出来。只需要进行判断文本是否相等,使用term搜索。例如:
GET http://10.1.43.74:9200/article/_search "query": "term": "author": "value":"黄宁"
|
"took": 15, "timed_out": false, "_shards": //命中的分片信息 "total": 1, "successful": 1, "skipped": 0, "failed": 0 , "hits": "total": "value": 1, //命中的文档总数 "relation": "eq" , "max_score": 0.2876821, //命中文档的最高分 "hits": [ //命中文档的集合
"_index": "article", "_id": "001", "_score": 0.2876821, "_source": "title": "浙江...", "brief": "【浙江丽水...", "author": "黄宁", "content": "【浙江丽水:住房公积...", "readNumber": "188"
]
|
![](https://image.cha138.com/20230324/7006c27895334e2aa667183f2e255845.jpg)
3.3根据文本模糊搜索文章
对文本进行模糊匹配并给出匹配分数这一功能才是搜索引擎的最根本的功能。这里使用match探索对某个字段进行模糊匹配。例如按标题进行模糊搜索:
http://10.1.43.74:9200/article/_search "query": "match": "title":"丽水"
|
"took": 62, "timed_out": false, "_shards": "total": 1, "successful": 1, "skipped": 0, "failed": 0 , "hits": "total": "value": 1, "relation": "eq" , "max_score": 0.5753642, "hits": [
"_index": "article", "_id": "001", "_score": 0.5753642, "_source": "title": "浙江...", "brief": "【浙江丽水...", "author": "黄宁", "content": "【浙江丽水:住房公积...", "readNumber": "188"
]
|
![](https://image.cha138.com/20230324/412be1c861bf4f5cb3836898871abe25.jpg)
如何使用现有索引创建 Elastic App Search Engine(来自 GraphDB Elastic Search Connector 的数据)
【中文标题】如何使用现有索引创建 Elastic App Search Engine(来自 GraphDB Elastic Search Connector 的数据)【英文标题】:How to create an Elastic App Search Engine using an existing index (data from GraphDB Elastic Search Connector) 【发布时间】:2021-10-08 04:30:53 【问题描述】:标题几乎说明了一切。
此时,我们成功地使用 GraphDB Elastic Search 连接器创建了一个测试连接器。我们想在我们的 React.js 项目中使用 Elastic Search UI。为此,我们需要在 Elastic App Search 中创建一个引擎并从我们的连接器导入文档。
我们目前有一个来自 GraphDB 的索引,目前在 Kibana 索引管理部分可用
就像我说的,我们现在的目标是使用来自 GraphDB 连接器的这个索引创建一个测试引擎,但是没有办法导入这个数据。
【问题讨论】:
【参考方案1】:我不认为添加现有索引是一种选择。请参阅 Elastic 论坛上的此讨论 https://discuss.elastic.co/t/can-you-hook-an-existing-elasticsearch-index-to-elastic-app-search/222508
【讨论】:
以上是关于Elastic Search 8.6.2简单操作的主要内容,如果未能解决你的问题,请参考以下文章
Elastic Search | Head插件的安装与简单使用