elasticsearch用在哪里?elasticsearch如何增删改?

Elasticsearch 是一个高伸缩的开源全文搜索和分析引擎。它可以快速地、近实时的存储,搜索和分析大规模的数据。那elasticsearch用在哪里下面来我们就来给大家讲解一下elasticsearch用处。

Elasticsearch 能够被用在这些地方:

假设有一个在线的商店网站,为了让客户搜索到销售的产品。在这种情况下,可以使用 Elasticsearch 来存储你的整个产品目录和库存,并提供搜索以及自动给他们一些建议。

假设想要收集日志或者交易数据,通过分析、挖掘来寻找趋势,统计,总结或异常。在这种情况下,可以使用 LogStash(Elasticsearch/Logstash/Kibana栈的一部分)去收集、汇总并解析你的数据,然后通过 LogStash 把这些数据递交给 Elasticsearch 。一旦 Elasticsearch 取得了数据,你就可以进行搜索并且聚合你感兴趣的信息。

假设运行一个价格提醒平台,让价格精明的客户指定一个规则,如“我有兴趣购买一个特定的电子小配件,如果下个月内,有卖家的价格低于$x,我想得到通知”。在这种情况下,你可以把卖家的价格递交到 Elasticsearch ,使用反向搜索(过滤器),将价格变动与客户查询进行匹配,一旦发现匹配结果,则通知客户。

elasticsearch如何增删改?

1. ElasticSearch增加

向store索引中添加一些书籍

curl - H "Content-Type: application/json" - XPUT 'http://192.168.187.201:9200/store/books/1?pretty' - d '{
"title": "Elasticsearch: The Definitive Guide"
, "name":
{
    "first": "Zachary"
    , "last": "Tong"
}
, "publish_date": "2015-02-06"
, "price": "49.99"
}

注:curl是linux下的http请求,-H "Content-Type: application/json"需要添加,否则会报错{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}

加"pretty"

elasticsearch用在哪里?elasticsearch如何增删改?.jpg

不加"pretty"

1.jpg

加"pretty"与不加"pretty"的区别就是返回结果工整与不工整的差别,其他操作类似。为了使返回结果工整,以下操作都在url后添加"pretty"

2. elasticSearch删除

删除一个文档

curl -XDELETE 'http://hadoop1:9200/store/books/1?pretty'

2.jpg

3. elasticSearch更新(改)

①可以通过覆盖的方式更新

curl - H "Content-Type:application/json" - XPUT 'http://hadoop1:9200/store/books/1?pretty' - d '{
"title": "Elasticsearch: The Definitive Guide"
, "name":
{
    "first": "Zachary"
    , "last": "Tong"
}
, "publish_date": "2016-02-06"
, "price": "99.99"
}

3.jpg

② 通过_update API的方式单独更新你想要更新的

curl - H "Content-Type: application/json" - XPOST 'http://hadoop1:9200/store/books/1/_update?pretty' - d '{
"doc":
{
    "price": 88.88
}
}

4.jpg

这就是elasticsearch增删改的方式,elasticsearch一般是被用作底层引擎/技术,为具有复杂搜索功能和要求的应用提供强有力的支撑。最后大家如果想要了解更多Java架构师知识,敬请关注奇Q工具网。

推荐阅读:

java面试官如何面试别人?java面试官提问有何技巧?

java开发工具叫什么?java常用开发工具介绍

Qt无法解析的外部命令怎么办?Qt怎么解析Xml?