索引相关
一、映射与分析
Elasticsearch 中的数据可以概括的分为两类:精确值和全文。
为了促进在全文域中的匹配查询,Elasticsearch 首先 分析 文档,之后根据结果创建 倒排索引;
倒排索引:倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包
括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来
确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文
件,简称倒排文件(inverted file)。
分析器:字符过滤器
首先,字符串按顺序通过每个 字符过滤器 。他们的任务是在分词前整理字符串。
一个字符过滤器可以用来去掉HTML,或者将 & 转化成 `and`。
分词器:
其次,字符串被 分词器 分为单个的词条。一个简单的分词器遇到空格和标点的时
候,可能会将文本拆分成词条。
Token 过滤器:
最后,词条按顺序通过每个 token 过滤器 。这个过程可能会改变词条(例如,小
写化 Quick ),删除词条(例如, 像 a`, `and`, `the 等无用词),或者增加
词条(例如,像 jump 和 leap 这种同义词)
当我们 索引 一个文档时使用分析器,它的全文域被分析成词条以用来创建倒排索引当你查询一个 全文 域时, 会对查询字符串应用相同的分析器,以产生正确的搜索词条列表。
当你查询一个 精确值 域时,不会分析查询字符串, 而是搜索你指定的精确值。
elastic内置的分析器:standard,whitespace,simple,english
创建一个自定义分析器编辑:
PUT /my_index
{
"settings": {
//配置自定义的分析器
"analysis": { "char_filter": {
"&_to_and": {
"type": "mapping",
"mappings": [ "&=> and "]
}
},
"filter": {
"my_stopwords": {
"type": "stop",
"stopwords": [ "the", "a" ]
}
},
"analyzer": {
//自定义的分析器
"my_analyzer": { "type": "custom",
//字符过滤器
"char_filter": [ "html_strip", "&_to_and" ],
//分词器
"tokenizer": "standard",
//Token过滤器
"filter": [ "lowercase", "my_stopwords" ] }}
}
}
}
应用分析器:
PUT /my_index/_mapping/my_type
{ "properties": { "title": { "type": "string", "analyzer": "my_analyzer" } } }
映射:让elasticsearch知道索引的据类型
基本类型:
字符串: string
整数 : byte, short, integer, long
浮点数: float, double
布尔型: boolean
日期: date
查看映射:GET /gb/_mapping/tweet
取得索引 gb 中类型 tweet 的映射
域最重要的属性是 type 。对于不是 string 的域,你一般只需要设置 type;
string 域映射的两个最重要 属性是 index 和 analyzer
index:
analyzed
首先分析字符串,然后索引它。换句话说,以全文索引这个域。
not_analyzed
索引这个域,所以它能够被搜索,但索引的是精确值。不会对它进行分析。
no
不索引这个域。这个域不会被搜索到
analyzer:指定在搜索和索引时使用的分析器,可以使用内置的分析器或者自定义的分析器
自定义映射:
PUT /gb
{ "mappings": {
"tweet" : {
"properties" : {
"tweet" : { "type" : "string", "analyzer": "english" },
"date" : { "type" : "date" },
"name" : { "type" : "string" },
"user_id" : { "type" : "long" }
}
}
}
}
二、索引别名和零宕机
A.PUT /my_index_v1
B.PUT /my_index_v1/_alias/my_index
A创建索引,B建立别名
修改索引字段时,可以新建索引,然后将就索引数据导入新建索引,将别名指向新建索引即可实现
0宕机变更索引了
参考官方文档:https://www.elastic.co/guide/c ... iases
一、映射与分析
Elasticsearch 中的数据可以概括的分为两类:精确值和全文。
为了促进在全文域中的匹配查询,Elasticsearch 首先 分析 文档,之后根据结果创建 倒排索引;
倒排索引:倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包
括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来
确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文
件,简称倒排文件(inverted file)。
分析器:字符过滤器
首先,字符串按顺序通过每个 字符过滤器 。他们的任务是在分词前整理字符串。
一个字符过滤器可以用来去掉HTML,或者将 & 转化成 `and`。
分词器:
其次,字符串被 分词器 分为单个的词条。一个简单的分词器遇到空格和标点的时
候,可能会将文本拆分成词条。
Token 过滤器:
最后,词条按顺序通过每个 token 过滤器 。这个过程可能会改变词条(例如,小
写化 Quick ),删除词条(例如, 像 a`, `and`, `the 等无用词),或者增加
词条(例如,像 jump 和 leap 这种同义词)
当我们 索引 一个文档时使用分析器,它的全文域被分析成词条以用来创建倒排索引当你查询一个 全文 域时, 会对查询字符串应用相同的分析器,以产生正确的搜索词条列表。
当你查询一个 精确值 域时,不会分析查询字符串, 而是搜索你指定的精确值。
elastic内置的分析器:standard,whitespace,simple,english
创建一个自定义分析器编辑:
PUT /my_index
{
"settings": {
//配置自定义的分析器
"analysis": { "char_filter": {
"&_to_and": {
"type": "mapping",
"mappings": [ "&=> and "]
}
},
"filter": {
"my_stopwords": {
"type": "stop",
"stopwords": [ "the", "a" ]
}
},
"analyzer": {
//自定义的分析器
"my_analyzer": { "type": "custom",
//字符过滤器
"char_filter": [ "html_strip", "&_to_and" ],
//分词器
"tokenizer": "standard",
//Token过滤器
"filter": [ "lowercase", "my_stopwords" ] }}
}
}
}
应用分析器:
PUT /my_index/_mapping/my_type
{ "properties": { "title": { "type": "string", "analyzer": "my_analyzer" } } }
映射:让elasticsearch知道索引的据类型
基本类型:
字符串: string
整数 : byte, short, integer, long
浮点数: float, double
布尔型: boolean
日期: date
查看映射:GET /gb/_mapping/tweet
取得索引 gb 中类型 tweet 的映射
域最重要的属性是 type 。对于不是 string 的域,你一般只需要设置 type;
string 域映射的两个最重要 属性是 index 和 analyzer
index:
analyzed
首先分析字符串,然后索引它。换句话说,以全文索引这个域。
not_analyzed
索引这个域,所以它能够被搜索,但索引的是精确值。不会对它进行分析。
no
不索引这个域。这个域不会被搜索到
analyzer:指定在搜索和索引时使用的分析器,可以使用内置的分析器或者自定义的分析器
自定义映射:
PUT /gb
{ "mappings": {
"tweet" : {
"properties" : {
"tweet" : { "type" : "string", "analyzer": "english" },
"date" : { "type" : "date" },
"name" : { "type" : "string" },
"user_id" : { "type" : "long" }
}
}
}
}
二、索引别名和零宕机
A.PUT /my_index_v1
B.PUT /my_index_v1/_alias/my_index
A创建索引,B建立别名
修改索引字段时,可以新建索引,然后将就索引数据导入新建索引,将别名指向新建索引即可实现
0宕机变更索引了
参考官方文档:https://www.elastic.co/guide/c ... iases
[尊重社区原创,转载请保留或注明出处]
本文地址:http://elasticsearch.cn/article/478
本文地址:http://elasticsearch.cn/article/478
1 个评论
不错的分享,就是格式有点欠佳。