ElasticSearch基础知识
1.背景
2.概念
2.1 文档Document
类似mysql一列,json格式存储
2.2 索引Index
索引类似数据库里的表,相同文档类型的集合
2.3 映射mapping
类似表结构
属性:
- type: 类型 text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)。keyword类型只能整体搜索,不支持搜索部分内容
- index:是否创建索引,默认为true
- analyzer:使用哪种分词器
- properties:该字段的子字段
- fields: 一个字段拥有多个子字段类型,使得一个字段能够被多个不同的索引方式进行索引。
"index_name": {
"mappings": {
"doc": {
"properties": {
"city": {
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
},
"type": "text"
},
"clear_hour": {
"type": "long"
}
}
}
}
}
3.分词器
3.1 Standard
适用于自然语言文本,
能够识别单词、数字、电子邮件地址和 URL
https://www.elastic.co 分词为 https 和 www.elastic.co
3.2 Simple
简单地按非字母字符分割文本,并将所有字母转换为小写
https://www.elastic.co 分词为 wwwelasticco
3.3 Whitespace
仅按空格分割文本,保留所有字符
https://www.elastic.co 分词为 www.elastic.co
3.4 Keyword
将整个输入文本作为一个单一的词元处理,不分词。