• 【沽泡学院07】基于ElasticSearch搜索附近的人


    1. 为什么要选择ElasticSearch

    1)ElasticSearch

    优点:

    分布式、实时的、Push replication

    完全支持Apache Lucene的接近实时的搜索

    处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置

    Gateway概念,使备份更加简单

    各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作

    缺点:

    只有一名开发则

    还不够自动,不适合当前新的Index Warmup API(热索引)

    2)Solr

    优点:

    Solr有一个更成熟的社区

    支持多种格式的索引

    Solr比较成熟、稳定

    不考虑建索引的同时进行搜索,速度更快

    缺点:

    建立索引时,搜索效率下降,实时索引搜索效率不高

    缺点:

    建立索引时,搜索效率下降,实时索引搜索效率不高。

    2. 浅析ElasticSearch工作原理

    1)Lucence,基本架构,解决方案

    Document 行(Row)文本

    Index索引(数据关键值)->提高查询效率

    Analyzer分词器(打标签)->提高查询精准度

    3. 查询附近的人功能实现思路

    操作流程:

    1)利用GPS设备获取每个人的位置(经纬度坐标),然后上传到服务器

    2)根据Tom的位置,利用大数据搜索引擎实时搜索出附近的人,列出其个人信息

    3)实现条件筛选,只看女生或者只看男生

    代码实现:

    1)利用ES搜索引擎随机生成10W条模拟数据

    2)设置Tom所在位置

    3)从模拟数据中匹配出符合条件的人

    4)开始加人,聊天

    4. 从10w条记录中快速搜索附近的人

    对比学习

    数据库:建库(DB),建表(Table),建约束

    JDBC API:加载驱动类,建立连接(客户端),建立语句集SQL,执行语句集,获取结果集(ResultSet),关闭结果、语句、连接

    ES:建库(Index),建表(IndexType),主键

    ES API:建立连接(创建客户端TransportClient),查询构造器(构造查询条件Request),执行语句集(execute),获取结果集(Response)、关闭以上诸操作

    geo 自动运用GEO算法,经纬度换算成距离(m, km)

    5. 使用ES需要注意的地方

    1)Lucence版本差异

    2)ElasticSearch各版本差异

  • 相关阅读:
    部署 AppGlobalResources 到 SharePoint 2010
    还原一个已删除的网站集
    使用仪表板设计器配置级联筛选器 (SharePoint Server 2010 SP1)
    File or arguments not valid for site template
    Pex and Moles Documentation
    Content Query Webpart匿名访问
    Running Moles using NUnit Console from Visual Studio
    Calling a WCF Service using jQuery in SharePoint the correct way
    Updating Content Types and Site Columns That Were Deployed as a Feature
    asp.net中判断传过来的字符串不为空的代码
  • 原文地址:https://www.cnblogs.com/yeahwell/p/7627066.html
Copyright © 2020-2023  润新知