elasticsearch的使用示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Elasticsearch 是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
一、基本概念:
1.索引(index)
是Elasticsearch对逻辑数据的逻辑存储,所以它可以分为更小的部分。可以把索引看成关系型数据库的表,索引的结构是为快速有效的全文索引准备的,特别是它不存储原始值。Elasticsearch可以把索引存放在一台机器或者分散在多台服务器上,每个索引有一或多个分片(shard),每个 分片可以有多个副本(replica)。
2.文档(document)
存储在Elasticsearch中的主要实体叫文档(document)。用关系型数据库来类比的话,一个文档相当于数据库 表中的一行记录。
3.Mapping
Mapping是对类型中的文档中的每个字段进行预先定义数据类型等功能,如定义文档中的某个字段为整形,使用什么分析器,是否可搜索等,一个索引可以定义多个mapping。
二、基本操作:
1.新增索引并设置 mapping
PUT请求 http://ip:9200/索引名称/body体如下{ "settings": {"number_of_shards": 3,"number_of_replicas": 1}, "mappings": { "properties": { "video_like": {"type": "long"}, "video_date": {"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}, "video_title": {"analyzer" : "ik_smart","type": "text"}, "video_comment": {"type": "long"}, "share_conut": {"type": "long"}, "video_img_url": {"type": "text"}, "video_url": {"type": "text"}, "type_id": {"type": "long"}, "updata_time": {"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}, "user_id":{"type":"long"} } }}
number_of_replicas 是数据备份数,如果只有一台机器,设置为0,number_of_shards 是数据分片数,默认为5,有时候设置为3。
2.对已存在的索引新增 mapping 字段
PUT请求 http://ip:9200/index/_mapping{ "properties":{ "name":{ "type":"text" } }}
index为你索引库的名称。body 里写的是要新增的字段名称和字段类型,上面的例子是新增 name 字段,类型为 text 。
3.判断某个字段是否为空
http://ip:9200/index/_search{ "query": { "bool": { "must_not": { "exists": { "field": "label" } } } }}
向es插入数据时,如果某个字段为空,我就没有对该字段写入值,所以判断某个字段是否为空值,直接判断这个字段是否存在即可。用 exists 判断某个字段是否存在,这个例子是判断 label 的值是否为空
4.must 多个条件
http://ip:9200/index/_search{ "query": { "bool": { "must": [ { "range": { "video_date": { "gte": "now-24h+8h", "lte": "now+8h" } } }, { "exists": { "field": "label" } } ] } }}
must 多个条件时,对应的参数类型是列表。上面的例子: 查找必须是video_date 在某个时间范围,并且 label 字段存在的结果。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4579283/blog/4351003