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)
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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。