- 查询字符串
类似于这种搜索,GET /_search?q=mary
查询时默认会使用_all字段(不指定搜索的字段时),该字段是数据中所有字符串字段的值拼接的结果,搜索时如果在_all中命中了,就会返回该条数据
- 查看索引mapping
GET /index/_mapping
- 分词过程(分析器analyzer工作过程)
- 字符过滤器(character filter): 过滤html标签、将&字符转为and等一系列操作…
- 分词器(tokenizer):根据空格、逗号等分割单词
- 标记过滤(token filters):增加同义词、去掉停用词、转换大小写等
- 索引文档时全文字段会被分析为单独的词来创建倒排索引
查询全文(full text)字段时,查询将使用相同的分析器来分析查询字符串,以产生正确的词列
查询确切值(exact value)字段,查询将不分析查询字符串,但是可以自己指定
- 测试分析器分词的结果
GET /_analyze
{
"analyzer": "分析器名称",
"text": "被测试的文本"
}
- es类型
类型 |
es类型 |
字符串 |
text |
精确词 |
keyword |
整形 |
byte, short, integer, long |
浮点类型 |
float, double |
布尔类型 |
boolean |
日期 |
Date |
对象 |
Object |
- 构建索引映射
创建索引映射
PUT /索引名
{
"mappings": {
"properties" : {
"字段名" : {
"type" : "类型名",
"analyzer": "分词器",
"index":true|false(是否被索引)
}
}
}
}
添加索引映射
POST /索引名/_mapping
{
"properties" : {
"索引名" : {
"type" : "字段类型",
"analyzer": "分词器",
"index":true|false(是否被索引)
}
}
}
<