1、elasticsearch 源码在idea 中运行
IDEA中debug Elasticsearch源码之环境搭建_pilaf1990的博客-CSDN博客_idea debug elasticsearch 源码
- 拉源码
- 【重点】需要jdk11版本,在idea的cmd命令窗口查询jdk版本时也需要是11版本的,如果不是重启电脑再看看
- 在项目根目录 运行 gradlew idea 命令
- 在idea中刷新导入依赖
es 6源码debug环境搭建
elaseicsearch 6.x 版本看这个文章
2、elasticsearch 经纬度会偏移
场景:
一个职位有多个工作地址,查询的时候需要查询最近的工作地点,并且需要给前端显示一个职位最近的一个地址
记录一下查询代码
{
"from": 0,
"size": 10,
"stored_fields" : [ "_source" ],
"script_fields" : {
"distance" : {
"script" : {
"source": """
float distFrom(float lat1, float lng1, float lat2, float lng2) {
double earthRadius = 6371000; // meters
double dLat = Math.toRadians(lat2-lat1);
double dLng = Math.toRadians(lng2-lng1);
double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
Math.sin(dLng/2) * Math.sin(dLng/2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
float dist = (float) (earthRadius * c);
return dist;
}
def distanceT=null;
def locationT='';
def index=0;
def indexT=0;
for(def location : doc['location']){
def lat = (float) location.lat;
def lon = (float) location.lon;
def tmp= distFrom(lat, lon, (float) params.lat, (float) params.lon) * 0.001;
if (distanceT==null|| (tmp!=null && tmp<distanceT)){
distanceT=tmp;
locationT=lat+','+lon;
indexT=0;
}
index++;
}
if(doc['location']==null || doc['location'].size()==0){
return '';
}
return doc['location'].get(indexT).toString();
""",
"lang": "painless",
"params": {
"lat": 31.235452,
"lon": 121.47749
}
}
}
}
}
JFrog
3、es 7.9版本的手册
Getting started with Elasticsearch | Elasticsearch Guide [7.9] | Elastic
之前找了半天也只能找到2.x中文版本的手册,在这里记录一下
距离计算
Elasticsearch geo 按距离排序 - 梯子教程网
GET /job/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"should": {
"distance_feature": {
"field": "location",
"pivot": "1000m",
"origin": [
121.47749,
31.235452
]
}
}
}
},
"sort": [
{
"_geo_distance": {
"location": [
121.47749,
31.235452
],
"order": "asc"
}
}
]
}
全部都是距离的计算方式
Elasticsearch 计算距离_陈家才~的博客-CSDN博客_es距离计算
6.3.3 Sort 排序 · Elasticsearch Reference CN
ElasticSearch 7.7.0 核心篇
4、es多地址搜索
https://deadlion.cn/2017/12/03/ElasticSearch-%E6%AF%8F%E4%B8%AA-doc-%E5%A4%9A%E5%9C%B0%E7%90%86%E4%BD%8D%E7%BD%AE%E8%B7%9D%E7%A6%BB%E6%8E%92%E5%BA%8F/
查询结果的排序 | Mastering Elasticsearch(中文版)
Return Elasticsearch distance for array of geo points
5、查看索引的字段映射,已经对应的类型
6、kabana开发工具
ps: 在kibana中,重新创建索引后需要删除对应的索引模式,再创建才会生效文章来源:https://www.toymoban.com/news/detail-765525.html
7、深翻页的解决办法
文章来源地址https://www.toymoban.com/news/detail-765525.html
到了这里,关于elasticsearch 相关资料的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!