- 浏览: 693741 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (364)
- quick start (57)
- bboss aop (43)
- bboss mvc (48)
- bboss persistent (96)
- bboss taglib (30)
- bboss event (10)
- bbossgroups (52)
- bboss (32)
- bboss会话共享 (17)
- bboss rpc (7)
- bboss 国际化 (5)
- bboss 序列化 (9)
- bboss cxf webservice (8)
- bboss hessian (3)
- bboss 安全认证SSO (15)
- bboss 工作流 (6)
- 平台 (18)
- bboss quartz (3)
- 杂谈 (5)
- 大数据 (1)
- bboss elastic (24)
- bboss http (1)
- bboss kafka (1)
- Elasticsearch Scroll和Slice Scroll查询API使用案例 (1)
最新评论
-
qianhao123:
...
采用gradle构建和发布bboss方法介绍 -
qianhao123:
[img][/img]
采用gradle构建和发布bboss方法介绍 -
yin_bp:
欢迎大家参与working
高性能elasticsearch ORM开发库使用介绍 -
qq641879434:
万分感谢
bboss 持久层sql xml配置文件编写和加载方法介绍 -
yin_bp:
qq641879434 写道怎么设置配置文件 可以查看执行的S ...
bboss 持久层sql xml配置文件编写和加载方法介绍
Elasticsearch地理位置信息维护及检索案例分享
1.准备工作
参考文档《高性能elasticsearch ORM开发库使用介绍》导入和配置es客户端到工程
2.定义带地理位置类型的mapping
创建一个city索引表结构,字段location的 类型为geo_point,并且定义一个检索的dsl语句
在resources目录下创建文件esmapper/address.xml,内容如下:
创建索引表
3.添加索引文档
4.地理位置检索
5.参考文档
更多bboss 使用文档可以参考:
https://my.oschina.net/bboss/blog/1556866
6.开发交流
bboss elasticsearch技术交流群:166471282
bboss elasticsearch微信公众号:
1.准备工作
参考文档《高性能elasticsearch ORM开发库使用介绍》导入和配置es客户端到工程
2.定义带地理位置类型的mapping
创建一个city索引表结构,字段location的 类型为geo_point,并且定义一个检索的dsl语句
在resources目录下创建文件esmapper/address.xml,内容如下:
<properties> <property name="createCityIndice"><![CDATA[{ "settings": { "number_of_shards": 6, "index.refresh_interval": "5s" }, "mappings": { "city": { "properties": { "standardAddrId":{ "type":"keyword" }, "detailName": { "type": "text", "fields": { "keyword": { "type": "keyword" } } }, "cityName":{ "type": "text", "fields": { "keyword": { "type": "keyword" } } }, "countyName":{ "type": "text", "fields": { "keyword": { "type": "keyword" } } }, "location":{ "type": "geo_point" } } } } }]]></property> <property name="locationSearch"><![CDATA[{ "size": 100, "query": { "bool": { "must": [ { "match_phrase_prefix" : { "detailName" : { "query" : #[detailName] } } }, { "geo_distance": { "distance": #[distance], "location": { "lon": #[lon], "lat": #[lat] } } } ] } } }]]></property> </properties>
创建索引表
//创建加载配置文件的客户端工具,单实例多线程安全,第一次运行要预加载,有点慢 ClientInterface clientUtil = ElasticSearchHelper.getConfigRestClientUtil("esmapper/address.xml"); try { //先删除mapping clientUtil.dropIndice("city"); } catch (ElasticSearchException e) { // TODO Auto-generated catch block e.printStackTrace(); } //再创建mapping clientUtil.createIndiceMapping("city",//索引表名称 "createCityIndice");//索引表mapping dsl脚本名称,在esmapper/address.xml中定义createCityIndice
3.添加索引文档
Map<String,String> params = new HashMap<String,String>(); params.put("cityName","潭市"); params.put("standardAddrId","38130122"); params.put("detailName","贵溪市花园办事处建设路四冶生活区4-11栋33单元1层1010"); params.put("location","28.292781,117.238963"); params.put("countyName","中国"); ClientInterface clientUtil = ElasticSearchHelper.getRestClientUtil(); clientUtil.addDocument("city",//索引名称 "city",//索引类型 params);//索引数据对象 "refresh");//强制刷新索引数据,让插入数据实时生效,如果考虑性能需要,可以去掉refresh参数
4.地理位置检索
ClientInterface clientUtil = ElasticSearchHelper.getConfigRestClientUtil("esmapper/address.xml"); Map<String,String> params = new HashMap<String,String>(); params.put("detailName","海域香廷160栋1单元3层302室"); params.put("distance","0.5km"); params.put("lon","115.824994"); params.put("lat","28.666162"); //返回map对象列表,也可以返回其他实体对象列表 ESDatas<Map> datas = clientUtil.searchList("city/_search","locationSearch",params,Map.class); //返回json报文 System.out.print(clientUtil.executeRequest("city/_search","locationSearch",params));
5.参考文档
更多bboss 使用文档可以参考:
https://my.oschina.net/bboss/blog/1556866
6.开发交流
bboss elasticsearch技术交流群:166471282
bboss elasticsearch微信公众号:
发表评论
-
一组获取Elasticsearch 索引表所有文档API使用案例
2018-11-18 16:02 3147The best elasticsearch highle ... -
Elasticsearch Scroll和Slice Scroll查询API使用案例
2018-09-16 18:49 3969Elasticsearch Scroll和Slice Scro ... -
数据库数据导入Elasticsearch案例分享
2018-09-16 18:42 6386The best elasticsearch highleve ... -
Spring Boot整合ElasticSearch单/多集群案例
2018-07-07 20:12 9946Spring Boot整合ElasticSearch单个集群和 ... -
ElasticSearch DSL Script使用案例分享
2018-06-28 23:52 6313the best elasticsearch highleve ... -
Elasticsearch 6.3.0 SQL功能使用案例分享
2018-06-25 19:12 3382The best elasticsearch highleve ... -
数据库数据导入Elasticsearch案例分享
2018-06-21 22:56 433The best elasticsearch highleve ... -
ElasticSearch From-Size分页案例
2018-06-14 00:17 3488ElasticSearch From-Size分页案例 1. ... -
ElasticSearch客户端注解使用介绍
2018-05-30 00:19 2505The best elasticsearch highleve ... -
基于自定义配置文件初始化ElasticSearch客户端方法介绍
2018-05-24 18:56 1570基于自定义配置文件初始化ElasticSearch客户端方法介 ... -
Elasticsearch关键词高亮检索案例分享
2018-05-10 22:18 62821.准备工作 参考文档《集成Elasticsearch Res ... -
判断ElasticSearch索引Indice和索引类型是否存在
2018-05-05 23:54 8592The best elasticsearch highleve ... -
快速集成Elasticsearch Restful API案例
2018-04-26 14:27 3245The best elasticsearch highleve ... -
Elasticsearch source filter检索案例
2018-04-24 13:00 2336摘要: the best elasticsearch high ... -
Elasticsearch search after分页检索案例
2018-04-21 10:36 3184Elasticsearch search after分页检索案 ... -
Elasticsearch Delete/UpdateByQuery案例
2018-04-16 11:09 7472Elasticsearch Delete/UpdateByQu ... -
Elasticsearch返回父子数据关联查询案例
2018-04-13 12:36 4795在《Elasticsearch 父子关 ... -
Elasticsearch Sliced Scroll分页检索案例分享
2018-04-02 18:28 3831Elasticsearch Sliced Scroll分页检索 ... -
Elasticsearch Scroll分页检索案例分享
2018-03-28 20:40 4125Elasticsearch Scroll分页检索案例分享 1 ... -
Elasticsearch Mget、GetDocSource、索引部分更新案例分享
2018-03-25 08:55 12821.前期准备 参考文档《高性能elasticsearch OR ...
相关推荐
Stack Overflow则利用Elasticsearch进行地理位置查询,并通过more-like-this接口查找相关的问题和答案;GitHub则使用Elasticsearch对大量的代码仓库进行搜索。这些应用案例都展示了Elasticsearch在全文搜索、结构化...
如何高效地存储和检索地理位置信息,是当前亟需解决的问题。 **具体应用**: 1. **位置服务**:Uber 利用 Elasticsearch 来优化司机与乘客之间的匹配效率。 - **应用场景**:通过记录司机和乘客当前位置信息,并...
通过这种层级结构,Elasticsearch能够高效地管理和检索数据。此外,本部分还介绍了如何使用Elasticsearch进行数据的索引和搜索,以及如何配置和优化Elasticsearch。 第三部分主要讨论了Elasticsearch的水平扩展能力...
数据存储和索引:Elasticsearch将数据存储在倒排索引(Inverted Index)中,使得数据可以被快速检索和分析。它支持多种数据类型,并提供了丰富的数据处理和查询功能。 RESTful API:Elasticsearch通过RESTful API...
- **ES插件开发**:教授如何开发自定义插件来扩展Elasticsearch的功能。 #### 2.2 复杂项目实战 - **实战项目**:开发一款基于地理位置的智能餐厅App搜索引擎和数据分析系统。 - **应用高级知识点**:综合运用从...
### Elasticsearch 数据库下载、配置与使用案例详解 #### 一、Elasticsearch 概述 Elasticsearch 是一款基于 Lucene 开发的分布式搜索引擎和分析系统,能够高效地处理大量数据,并提供快速的搜索响应。它支持多种...
**Elasticsearch 案例教程** Elasticsearch 是一个基于 Lucene 的开源搜索引擎,以其分布式、RESTful 风格的接口、实时性、可扩展性和高可用性而受到广泛欢迎。它不仅可以用于全文搜索,还常被用作数据分析和实时...
在大数据和搜索引擎领域,Elasticsearch (ES) 和 Apache Solr 都是广泛使用的开源技术,它们都基于 Lucene 库,提供高性能、可扩展的全文搜索和分析能力。然而,两者在设计哲学、使用场景、功能特性以及社区支持等...
随着大数据时代的到来,Elasticsearch因其高性能、易用性及可扩展性等特点,在企业级应用中占据了重要地位。本文旨在深入探讨Elasticsearch的高级特性与最佳实践,帮助读者成为Elasticsearch领域的顶尖高手。 #### ...
《Mastering Elasticsearch 5.0, 3rd Edition》是学习和精通Elasticsearch 5.0版本的重要资源,无论你是想提升搜索和分析能力,还是希望在大数据环境中构建高效的检索系统,这本书都将提供宝贵的指导和实践案例。...
综上所述,这份“2018年最新价值799元Elasticsearch顶尖高手系列:高手进阶篇视频教程”不仅包含了Elasticsearch的核心技术和高级特性,还提供了丰富的实战案例和技巧分享,非常适合那些希望深入了解Elasticsearch并...
Elasticsearch 是一个基于 Lucene 的开源搜索和分析引擎,广泛用于全文检索、结构化数据存储以及实时数据分析等场景。随着大数据时代的到来,Elasticsearch 成为了许多企业和开发者首选的搜索解决方案之一。 #### ...
例如,通过Elasticsearch,我们可以轻松地查找特定用户的活动记录,或者找出具有特定属性(如地理位置、注册日期等)的用户群体。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和...
- **定义**:Elasticsearch是一款基于Lucene的开源搜索和分析引擎,适用于各种文本、数字及地理位置等数据类型的搜索与分析。 - **特点**: - 高度可扩展:能够处理PB级别的数据量。 - 实时性:支持近实时的数据...
5. **多模态搜索**:除了文本搜索,Elasticsearch还支持数值、日期和地理位置等类型的搜索,满足多样化需求。 6. **数据分析**:通过聚合操作,Elasticsearch可以进行复杂的数据分析,例如统计、排序、分组等,是大...
Elasticsearch具备搜集、分析、存储数据的能力,可以高效处理多样的数据类型,实现复杂的查询与分析,因此广泛应用于信息检索和数据分析等场景。 在Elasticsearch的生态矩阵中,除了核心的Elasticsearch引擎外,还...
在这个案例中,我们关注的是名为`guillotina_elasticsearch`的Python包,版本号为1.1.23。这个包以`.whl`文件的形式提供,这是一种预编译的Python轮子文件,可以直接在Python环境中安装,无需额外的编译步骤。 **...
- **Lucene**是Apache下的一个开源全文检索库,它是ElasticSearch的核心组件之一。 - **深入Lucene索引机制**:Lucene通过构建复杂的索引结构来实现高效的数据检索。 - **倒排索引(Inverted Index)**:将文档...
- **地理坐标存储**:Elasticsearch支持地理坐标类型的字段,方便存储地理位置信息。 - **地理范围查询**:通过对地理坐标进行范围查询,可以快速找到指定区域内的数据。 - **地图可视化**:Kibana提供了丰富的地图...
由于其强大的可扩展性和高性能特性,ElasticSearch 被广泛应用于全文检索、日志分析、实时数据分析等领域。 - **分布式架构**:ElasticSearch 采用分布式设计,可以部署在多个服务器上,通过水平扩展提高系统性能。...