Elasticsearch初级语法功能介绍
初级操作语法类型介绍
index->索引
type ->类型
token-> 表征
filter ->过滤器
analyser-分析器
Elasticsearch功能分别:
全文搜索、结构化搜索、分析。
基于开源Apache Lucene(TM)的开源搜索引擎。
Lucene可以被认为是最先进/性能最好/功能全面的搜索引擎库。
但是它本身就是个库,使用起来必须得先了解它的执行流程 ,必须用java来集成到你的APP中。
Elasticsearch也是用java并使用Lucene作为核心来实现搜索和索引的功能,但是目的是通过简单的RESTFul API 来隐藏Luncene的复杂性,让全文搜索变得更简单。
标签:
分布式的实时文件存储,每个字段都被索引并可被搜索
分布式的实时分析搜索引擎
可以扩展到上百台服务器,处理PB级结构化或非结构化数据
metdata (元数据)
节点 说明
_ index 文档存储的地方
_type 文档代表的对象的类
_id 文档的唯一标识
_index
索引(index)类似于关系型数据库里的”数据库“ –>存储和索引关联数据的地方。
_type
每个类型(type)都有自己的映射(mapping)或者结构定义,就像传统数据库表中的列一样。所有类型下的文档被存储在同一个索引下,但是类型的映射(mapping)会告诉Elasticsearch不同的文档被索引。
_type 的名字可以是大写或小写,不能包含下划线或逗号。我们将使用blog做为类型名。
_id
id仅仅是一个字符串它与index和_type组合时,就可以在Elasticsearch中唯一标识一个文档。当创建一个文档,你可以自定义_id,可以让Elasticsearch帮你自动生成。
索引一个文档
文档通过index API 被索引——使数据可以被存储和搜索。但是首先我们需要决定文档所在。
使用自己的ID
PUT /{index}/{type}/{id}
{
”field“ : ”value“
…
}
————————————————-
例如:
PUT /bigdata/yunlog/225566
{
“title” : “My first blog entry”,
“text” : “Just trying this out…”,
“date” : “2018/08/06”
}
Elasticsearch的响应:
{
“_index”: “bigdata”
“_typr” : “yunlog”
“_id” “225566”
“version” “1”
“created” “true”
}
自增ID
使用POST 进行操作
例如:
POST /bigdata/yunlog/225566
{
“title” : “My first blog entry”,
“text” : “Just trying this out…”,
“date” : “2018/08/06”
}
响应会自动生成version版本号
Kibana检索文档
GET /bigdata/yunlog/225566?prectty
{
“_index”: {bigdata}
“_type” : {yunlog}
“_id” : {225566}
“version” : “1”
“found” : “true”
“_search” : {
“title” : “My first blog entry”,
“text” : “Just trying this out…”,
“date” : “2018/08/06”
}
}
Curl pretty
点任意的查询字符串增加pretty参数,类似于上面的例子。会让Elasticsearch美化出入
curl -i -XGET http://localhost:9200/bigdata/yunlog/225566/?pretty