ElasticSearch8。6。2简单操作
#头条创作挑战赛#bana控制台来制作。安装的话可以参考《Elastic Search 8.6.2集群安装部署》。本文中简单介绍一下简单DSL操作,后续文章会详细介绍DSL操作。
1.Kinbana 8.6.2安装
Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作,只做最简单安装。
重置kibana用户的密码:
sh /usr/local/setup/elasticsearch-8.6.2/bin/elasticsearch-reset-password - u kibanaPassword 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.ymlserver.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 &
浏览器访问http://10.1.43.74:5601
使用用户elastic密码hhxxttxs123BoSs465登录,访问kibana首页->Manager->DevTools
在Console控台就可以执行创建索引、写入文档、搜索文档等交互了。
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"
}
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
}
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"
}
}
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"
}
}
]
}
}
4.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"
}
}
]
}
}