倒排索引:根据关键词搜索文档
elasticsearch采用倒排索引:
文档:每条数据就是一个文档,es中json格式
词条:文档按照语义分成的词语
索引:同类型文档的集合
映射:索引中文档的约束比如字段类型
字段:json文档中的
Mysql:擅长事务类型操作,可以确保数据的安全和一致性
Elasticsearch:擅长海量数据的搜索、分析、计算
两者是互补关系
常见mapping属性
type:字段数据类型,常见的简单类型有:
字符串:text(可分词的文本)keyword:精确值
数值:long integer short byte double float
布尔:boolean
日期:date
对象:object
index:是否创建索引,默认为true,index=true表示均可以参与搜索
analyzer:使用哪种分词器,
properties:该字段的子字段
创建索引库:
put:/索引库名
es中通过Restfult请求操作索引库、文档。请求内容用DSL语句来表示。
查看删除索引库:
get /索引库名
delete/索引库名
修改索引库名称:索引库和mapping一旦创建无法修改,但是可以添加新的字段
put /索引库名/_mapping
all组合字段
es:
作用:存储数据,查询和分析
what:它是分布式的搜索引擎,实现全文检索服务
反向索引:根据关键字来查找文档
安装配置:按es kibana ik
ik_smart(分词条目少),ik_max_world分词多(关联度低)
RestClent:索引库,文档操作
client.index().create(CreatIndexRequest)
client.indices().delete(DeleteIndexRequest)
client.indices().exist(GetIndexRequest)
文档操作:
client.index(IndexRequest)
client.delete(DeleteRequest)
client.update(UpdateRequest)
client.get(GetRequest)
client.bulk(BulkRequest) //批量查询