我们生活中的数据总体分为两种:结构化数据和非结构化数据。
创新互联主要企业基础官网建设,电商平台建设,移动手机平台,重庆小程序开发等一系列专为中小企业定制开发产品体系;应对中小企业在互联网运营的各种问题,为中小企业在互联网的运营中保驾护航。数据库适合结构化数据的精确查询,而不适合非结构化数据的模糊查询及灵活搜索(特别是数据量大的时候),无法提供想要是实时性。
对于非结构化的数据的检索,只能对全部内容做分析(分词)。
分词后如何搜索?倒排索引and正排索引
倒排索引---根据你所搜索的text进行分词去文档中搜索。
正排索引---将文档进行分词匹配你搜索的关键字
这里有一个问题:数据库是正排索引还是倒排索引?
ES是使用了Lucene做搜索框架来实现自己的搜索部分内容。
每小时能够索引150G以上的数据,对内存的要求小,只需要1M的堆内存,增量索引和批量索引一样快。 索引的大小约为索引文本大小的20%~30%
强大的查询方式支持短语查询、通配符查询、临近查询、范围查询等。支持多个索引查询结果合并。支持更新操作和查询操作同时进行。支持高亮、join、分组结果功能。
作为开源项目,你可在商业或开源项目中使用。Lucene有多种语言实现版可选(Python、PHP、C++等)不只是Java
Lucene的索引结构是有层次结构的:索引、段、文档、域、词
Es企业应用场景:
关系性数据库 | Elasticsearch |
数据库Database | index |
表table | Type |
数据行Row | Document |
数据列Column | Field |
约束Schema | Mapping |
常用的操作:
Match Query
Match Phrase Query
//term --- 完全匹配
GET /tk-policy-testenv/_search
{
"query": {
"bool": {
"filter": [
{
"term": {
"myname_no": "7198220142418"
}
}
]
}
},
"sort": [
{
"@timestamp": {
"order": "desc"
}
}
],
"size": 100,
"from": 0
}
GET /data-repo-stream-testenv/_search
{
"query": {
"bool": {
"filter": [
{
"term": {
"key": "7_ESREPO:2cfd21a4b3a24747b3b624c3ead4f317"
}
}
]
}
},
"sort": [
{
"@timestamp": {
"order": "desc"
}
}
],
"size": 100,
"from": 0
}
GET /tencent:zx_hopen-2022.07/_search
{
"query": {
"bool": {
"must": [
{ "match": { "message": "HLCP-INSTALMENT"}},
{ "match": { "message": "我要进行续期回调报文 = "}}
],
"should": [
{ "match": { "message": "H220615018793680123232" }}
]
}
}
GET /tencent:nt_zx_hopen-2022.08/_search?filter_path=hits.total,hits.hits._source&_source=message,log
{
"query": {
"bool": {
"must": [
{
"match_phrase": {
"message": {
"query": "服务名,TraceId"
}
}
}
]
,
"filter": [{
"match_phrase": {
"host.ip": "10.161.165.212"//某一个服务的地址 用哪一个打开哪一个
//"host.ip": "10.161.165.114"
//"host.ip": "10.161.165.85"
//"host.ip": "10.161.165.102"
//"host.ip": "10.161.165.169"
//"host.ip": "10.161.165.203"
//"log.file.path" : "spbt_9001"
}
}]
}
},
"sort": [
{
"@timestamp": {
"order": "desc"
}
}
],
"size": 5,
"from": 0
}
可视化工具:Kibana是一个基于Node的索引数据统计工具,可以利用elk的聚合功能,生成各种图表,如柱形图、线状图、饼图等。
特点:
日常工作中查看日志排查问题足够,通过日志中的关键信息即可查询到报错信息,利用各环境创建不同的索引,可以排查指定环境的日志,还可以查看各时间段的请求量,某一天的日志。结合Skywalking调用链路监控将调用各服务相关日志聚合到ES同一个索引下,通过TraceId关联一条事务的所有日志。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧