在es中有很多配置参数,有些配置是可以在建好索引后重新配置的,比如索引的副本数量、索引的分词等
1.更新索引配置
请求:PUT http://127.0.0.1:9200/secisland/_settings
参数:
{
"index":{"number_of_replicas":4}
}
更新分词器。添加索引分析器之前必须先关闭索引,添加之后再打开索引
POST http://127.0.0.1:9200/secisland/_close
PUT http://127.0.0.1:9200/secisland/_settings
参数:
{
"analysis":{
"analyzer":{
"content":{"type":"custom","tokenizer":"whitespace"}
}
}
}
POST http://127.0.0.1:9200/secisland/_open
2.获取配置
GET http://127.0.0.1:9200/secisland/_settings
过滤配置参数的返回结果:
GET http://127.0.0.1:9200/secisland/_settings/name=index.number_*
name=index.number_*设置将只返回number_of_replicas,number_of_shards两个参数详情
3.索引分析
首先,把一个文本块分析成一个个单独的词,为后面的倒排索引做准备
一个分析器是由以下三个功能组合而成:
- 字符过滤器(character filter):字符串经过字符过滤器处理,他们的工作是标记化之前处理字符串。字符过滤器能够去除HTML标记,或者转换"&“为"and”。
- 分词器(tokenizer):分词器被标记化成独立的词。一个简单的分词器可以根据空格或逗号将单词分开
- 标记过滤器(token filters):每个词都通过所有标记过滤处理,它可以转小写,去掉词,增加词
自定义分析器:
请求POST 127.0.0.1:9200/_analyze
{
"tokenizer":"keyword",
"token_filters":["lowercase"],
"char_filters":["html_strip"],
"text":"this is a <b>test</b>"
}
如果想获取分析器分析的更多细节,设置explain