Nosql数据库ElasticSearch的基础用法-初步探索

1>.elatissearch的作用

《《搜索和数据分析引擎》》

数据所搜与分析

2>.elasticsearch的重要属性:

索引index:在Elasticsearch中存储数据的行为就叫做索引(indexing)

文档:文档归属于一种类型(type),而这些类型存在于索引(index)

3>.elasticsearch与传统的数据库的比较:

Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices   -> Types  -> Documents -> Fields

4>.elasticsearch的初步探索

(工具:elasticsearch和postman)

1.索引:(简单的存值和取值)

postman操作如下:

先向服务器中存入,索引为megacorp,类型为employee,id为2的实体。

PUT /megacorp/employee/2
{
    "first_name" :  "Jane",
    "last_name" :   "Smith",
    "age" :         32,
    "about" :       "I like to collect rock albums",
    "interests":  [ "music" ]
}

查询:查询得到的信息(GET /megacorp/employee/2)。


{
    "_index": "megacorp",
    "_type": "employee",
    "_id": "3",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "created": true
}

2>.搜索:(搜寻所有的类型值:get index/type/_search)

2.1.简单查询(根据属性进行简单查询)

GET /megacorp/employee/_search?q=last_name:Smith

根据特定的属性进行查询:

localhost:9200/megacorp/employee/_search?q=last_name:Smith

3>.使用DSL语句查询(参数为json数据格式)

DSL(Domain Specific Language特定领域语言)以JSON请求体的形式出现

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}

4>.更加复杂的查询(过滤查询,可以筛选出更加详细的数据)

GET /megacorp/employee/_search
{
    "query" : {
        "filtered" : {
            "filter" : {
                "range" : {
                    "age" : { "gt" : 30 } <1>
                }
            },
            "query" : {
                "match" : {
                    "last_name" : "smith" <2>
                }
            }
        }
    }
}

5>.全文检索查询 (对全文的type中所有的数据进行目标值匹配,按相似度进行从大到小进行排序)

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "about" : "rock climbing"
        }
    }
}
{
   ...
   "hits": {
      "total":      2,
      "max_score":  0.16273327,
      "hits": [
         {
            ...
            "_score":         0.16273327, <1>
            "_source": {
               "first_name":  "John",
               "last_name":   "Smith",
               "age":         25,
               "about":       "I love to go rock climbing",
               "interests": [ "sports", "music" ]
            }
         },
         {
            ...
            "_score":         0.016878016, <2>
            "_source": {
               "first_name":  "Jane",
               "last_name":   "Smith",
               "age":         32,
               "about":       "I like to collect rock albums",
               "interests": [ "music" ]
            }
         }
      ]
   }
}

可以得要全文与检索内容的详相近程度,并且按从大大小排序。

6>.短语搜索(可以进行多个短语进行匹配)

同时多个词语进行搜索。

7>.高亮的搜索(对检索到的内容进行单独的提取存储)

当我们运行这个语句时,会命中与之前相同的结果,但是在返回结果中会有一个新的部分叫做highlight,这里包含了来自about字段中的文本,并且用<em></em>来标识匹配到的单词。

8>聚合(aggregations)

用于数据统计。比如统计一批数值数据中个值段的个数等。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿联爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值