elasticsearch
☀Mark_LY
java开发
展开
-
java处理单面、复合面JSON数据存储到es
在处理地理信息相关的数据时,常常需要处理一些单面和复合面的信息,将这些面数据存储到es的过程中需要使用geo_shape类型来存储,然而es在存储这类型的数据时,有非常强的限制性,即面信息不能出现不闭合的和自相交的情况;简单判断面是否闭合和相交,在给定的面信息的JSON点中,如果一个点在一个面里面出现三次以上,既可视为相交,如果第一个点与最后一点不同,即视为不闭合。这里给出的代码是将没有以上问题的面信息存入到es当中; JSONArray da = new JSONArray();原创 2021-03-04 15:07:21 · 879 阅读 · 1 评论 -
ES中 must和should并列查询问题
在使用es的过程当中,我们经常会使用到他的模糊匹配功能,通常多是使用should关键字来解决问题,但当我们需要对数据进行筛选的时候,与must关键字结合使用就会出现should失效的情况,此时我们应该将must嵌套到should里面才能满足需求,GET addr_match_20200903/_search{ "query": { "bool": { "should": [ { "bool": { "must": [原创 2020-10-14 16:20:44 · 3514 阅读 · 0 评论 -
HTTP请求携带用户密码验证
在java操作es时,可以使用HTTP请求的方式来连接es,一般es是没有密码限制的。但当es设置了用户名密码限制的时候我们需要在HTTP请求中携带用户名和密码,如何在HTTP请求中携带用户名密码,直接上代码public class HttpUtils { public static String sendPost(String url, String param) { OutputStreamWriter out = null; BufferedReader in原创 2020-10-12 17:07:17 · 7334 阅读 · 0 评论