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"
不加"pretty"
加"pretty"与不加"pretty"的区别就是返回结果工整与不工整的差别,其他操作类似。为了使返回结果工整,以下操作都在url后添加"pretty"
2. elasticSearch删除
删除一个文档
curl -XDELETE 'http://hadoop1:9200/store/books/1?pretty'
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" }
② 通过_update API的方式单独更新你想要更新的
curl - H "Content-Type: application/json" - XPOST 'http://hadoop1:9200/store/books/1/_update?pretty' - d '{ "doc": { "price": 88.88 } }
这就是elasticsearch增删改的方式,elasticsearch一般是被用作底层引擎/技术,为具有复杂搜索功能和要求的应用提供强有力的支撑。最后大家如果想要了解更多Java架构师知识,敬请关注奇Q工具网。
推荐阅读: