当前位置: 首页 > news >正文

开发一个大型网站需要多少钱网站首页原型图

开发一个大型网站需要多少钱,网站首页原型图,四川建设厅证书查询官网,vps网站无法通过ip访问需求整理: geohash 7网格存储工作热度和学习热度数值,支持随机区域多个范围的热度聚合; 创建索引结构 索引文档需要包含 Geohash 网格、工作热度和学习热度等字段。可以在 Elasticsearch 中定义一个索引,确保 location 字段的类…

需求整理:

geohash 7网格存储工作热度和学习热度数值,支持随机区域多个范围的热度聚合;

创建索引结构

索引文档需要包含 Geohash 网格、工作热度和学习热度等字段。可以在 Elasticsearch 中定义一个索引,确保 location 字段的类型是 geo_point,用于支持地理空间查询。

PUT /geohash_index
{"mappings": {"properties": {"geohash": {"type": "keyword"},"location": {"type": "geo_point"},"work_heat": {"type": "integer"},"study_heat": {"type": "integer"}}}
}

插入数据

POST /geohash_index/_doc/1
{"geohash": "wx4g0f0","location": {"lat": 39.9042,"lon": 116.4074},"work_heat": 100,"study_heat": 50
}

聚合查询

使用 Elasticsearch 的地理空间范围聚合 (geo_distance aggregation) 实现不同范围内的数据聚合,比如 500m、1.5km、3km,统计工作热度和学习热度。

import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.aggregations.AggregationBuilders;
import org.elasticsearch.search.aggregations.bucket.range.GeoDistanceAggregationBuilder;
import org.elasticsearch.common.unit.DistanceUnit;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
import org.springframework.beans.factory.annotation.Autowired;public class GeoAggregationQuery {@Autowiredprivate ElasticsearchRestTemplate elasticsearchRestTemplate;public void searchWithGeoAggregation() {// 构建地理空间范围聚合GeoDistanceAggregationBuilder geoDistanceAgg = AggregationBuilders.geoDistance("geo_distance_agg", new GeoPoint(39.9042, 116.4074)).unit(DistanceUnit.METERS).field("location").addRange(0, 500)     // 0-500米范围.addRange(500, 1500)  // 500米-1.5公里范围.addRange(1500, 3000) // 1.5公里-3公里范围.subAggregation(AggregationBuilders.sum("total_work_heat").field("work_heat"))   .subAggregation(AggregationBuilders.sum("total_study_heat").field("study_heat")); // 构建查询NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(QueryBuilders.matchAllQuery())  .addAggregation(geoDistanceAgg).build();elasticsearchRestTemplate.search(searchQuery, YourEntityClass.class).getAggregations().asMap().forEach((name, agg) -> {// 处理聚合结果,例如输出各个范围内的热度总和System.out.println(name + ": " + agg);});}
}

可以根据需求扩展查询条件,例如增加 BoolQueryBuilder 来过滤特定条件的数据。同样可以通过修改距离和单位,调整聚合的范围。

额外:怎么评估最外围擦边的点要不要算在里面

1. 中心点与半径
每个距离范围(如 500m、1.5km、3km)是以你指定的中心点为原点,计算的半径距离。在执行查询时,Elasticsearch 通过 Haversine 公式(或其他地理距离计算方法)确定每个文档的地理位置是否在某个距离范围内。
2. 文档是否落入某个范围
• 如果文档的地理位置计算出的距离小于或等于给定范围(例如 500m 或 1.5km),那么这个文档会被算作属于这个距离范围的桶。
• 如果文档的地理位置超过了给定的范围,那么它不会算作在该桶中。

具体实现

  1. 基于中心点:计算距离的起点是你定义的中心点,所有距离测量都是围绕这个点进行。
  2. 严格的边界计算:擦边的点如果距离与给定范围正好相等,它会被算作属于该范围。
http://www.yayakq.cn/news/921392/

相关文章:

  • 学做网站用谁的书网络营销与直播电商专业专升本
  • 开淘宝店怎么做充值网站服装设计网站免费
  • 网站开发属于软件开发服务吗抖音代运营收费20万
  • 建网站策划方案a市最牛的网站
  • 电子商务网站的设计工具下载中心免费下载
  • 网站建设免费代理华为公司的企业设计
  • 都匀经济开发区建设局网站wordpress充值功能
  • 网站首页模板制作广西建筑模板
  • 考研门户网站的建设上海什么公司最有名
  • 润商网站建设服务花卉网站建设项目策划书
  • 重庆网站seo方法西安做网站企业
  • 网站网站制作公司哪家好网站footer怎么做
  • 垂直门户网站怎么做制作图片下载什么软件
  • 在哪些网站可以发布推广信息ai软件下载
  • 如何建微信微网站网站免费获取验证码怎么做
  • 4网站建设厦门企业网站建设补贴
  • flash做ppt的模板下载网站有哪些新手站长做装修网站
  • 响应式酒店网站模板网站数据丢失怎么办
  • 2015年做那个网站致富传奇手游官网
  • 手机网站内容设计方案网站建设国内排行
  • 网站开发的语言有什么软件包头人脸检测系统
  • 企业展示型网站php太太猫代理网址
  • 有哪些可以接单做任务的网站wordpress 正在发送请求
  • 个人建网站步骤铁岭房地产网站建设
  • 商务网站开发实训体会广州网站(建设信科网络)
  • 自己做下载网站西安注册公司在哪个网站系统
  • 福建省建设安全监督站的网站订单拆单在电商网站建设
  • 网站做的比较好的公司吗机械网站开发方案
  • c 网站开发调试婚礼案例网站
  • 如何给自己的公司建网站网站模板 金融