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