`
sb122k
  • 浏览: 66123 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

使用 Apache Lucene 和 Solr 进行位置感知搜索

    博客分类:
  • solr
阅读更多

http://wiki.apache.org/solr/SpatialSearch


有三点:

1. geofilt 一个点和距离 , 指定查询字段。返回数据

 

...&q=*:*&fq={!geofilt sfield=store}&pt=45.15,-93.85&d=5
...&q=*:*&fq={!geofilt}&sfield=store&pt=45.15,-93.85&d=5

2.bbox 一个半径为d 边框范围,
...&q=*:*&fq={!bbox}&sfield=store&pt=45.15,-93.85&d=5

3.geodist 排序方法。默认按照距离排序,还有比较复杂的用法没有研究,注意:
?q=*&fq={!geofilt%20sfield=baidu_geo}&pt=45.15,-93.85&d=5&sort=geodist()%20asc 这是错的,会报 sort param could not be parsed as a query, and is not a field that exists in the index: geodist()

?q=*&fq={!geofilt}&sfield=baidu_geo&pt=30.648694,104.091852&d=5&sort=geodist()%20asc  这是对的


http://wiki.apache.org/solr/SpatialSearchDev 有配置的实例,但是注意:

Example

 

<fieldType name="latLon" class="solr.LatLonType" subFieldSuffix="_latLon"/>
...
<field name="store_lat_lon" type="latLon" indexed="true" stored="true"/>
...
<dynamicField name="*_latLon" type="double" indexed="true" stored="false" multiValued="true"/>
这是错的,http://wiki.apache.org/solr/SpatialSearch 有描叙 :

The LatLonType is the current default spatial field. Values for this type are of the form latitude,longitude, although behind the scenes, the latitude and longitude are indexed as separate numbers. Fields using LatLonType must be single valued (i.e. multiValued="false"). This field type does distance calculations based on Great Circle (haversine).

In addition to geofiltgeodist and bbox, the LatLonType supports field queries such as field:10,20 and range queries such as field:[10,20 TO 30,40].

正确的 schema.xml 配置是:

<fieldtype name="latLon" class="solr.LatLonType"/>
<field name="geo" type="latLon"  stored="true" indexed="true"/>
<dynamicField name="*_latLon" type="double" indexed="true" stored="false" multiValued="false"/>


坐标系转换

因为中国法律规定, 原始gps地图坐标不能得到, 而 goods,baidu, sogo 的参考坐标系各不相同。我存的是百度坐标系。数据库和索引里可支持多种坐标系。

2
4
分享到:
评论

相关推荐

    lucene-solr:Apache Lucene和Solr开源搜索软件

    Apache Solr是使用Java编写并使用Apache Lucene的企业搜索平台。 主要功能包括全文搜索,索引复制和分片以及结果分面和突出显示。 在线文件 该自述文件仅包含基本的安装说明。 有关更全面的文档,请访问: Lucene...

    lucene,solr的使用

    Apache Solr是基于Lucene的高性能企业级搜索平台,也是目前最受欢迎的企业级搜索解决方案之一。相比Lucene,Solr提供了更丰富的功能集和更好的集群支持能力,适用于大规模数据的实时检索场景。 ##### 2.1 Solr的...

    lucene&solr原理分析

    lucene&solr原理分析,lucene搜索引擎和solr搜索服务器原理分析。

    apache lucene solr 官网历史版本 免费下载地址

    http://archive.apache.org/dist/lucene/java/ 这个是lucene的历史版本 http://archive.apache.org/dist/lucene/solr/ 这个是solr的历史版本

    lucene-solr-sandbox:Apache Lucene和Solr开源搜索软件插件模块沙箱

    Apache Lucene和Solr是两个在信息技术领域广泛使用的开源搜索技术。Lucene是一个高性能、全文本搜索引擎库,而Solr是基于Lucene构建的一个企业级搜索服务器,提供了更高级别的功能和服务。"lucene-solr-sandbox"是这...

    搜索引擎 Lucene、Solr

    5. Solr是一个基于Lucene构建的企业级搜索服务器,它提供了搜索引擎的索引、搜索、排序等功能,并通过RESTful API与各种客户端进行交互。Solr在实现搜索引擎方面,不仅继承了Lucene的强大功能,还提供了分布式搜索、...

    Lucene&solr.zip

    Solr是基于Lucene构建的企业级搜索平台,它提供了一个更高级的、易于使用的接口和配置选项,适合大型复杂系统的全文检索。Solr的主要特点包括: - **分布式搜索**:Solr支持分布式部署,可以处理大量数据,实现高...

    IK分词器-Lucene与Solr学习中使用

    IK分词器是Java开发的一款高效、灵活的中文分词工具,特别适用于Lucene和Solr等全文搜索引擎的中文处理。在对文本进行索引和搜索时,分词器的作用至关重要,它能将中文文本拆分成有意义的词汇,以便进行后续的分析和...

    Solr Elasticsearch lucene 搜索引擎

    Solr、Elasticsearch和Lucene是三个在搜索引擎领域中至关重要的技术,它们共同构建了现代数据检索的基础架构。下面将分别对这三个组件进行详细解释,并探讨它们之间的关系。 **Lucene** Lucene是一个高性能、全文本...

    IKAnalyzer 适用 lucene和solr 5.4.0版本

    1. **Lucene集成**:IKAnalyzer 可以作为Lucene的Analyzer组件使用,通过设置Analyzer类为IKAnalyzer,可以实现在Lucene中进行中文分词索引和搜索。 2. **Solr集成**:对于Solr,IKAnalyzer同样可以作为Analyzer配置...

    IK中文分词器2012版支持Lucene和solr

    2012FF_u1版本是IK Analyzer的一个重要更新,它增强了对中文词汇的处理能力,同时扩展了对Lucene和Solr的支持,使得在这些搜索引擎中进行中文信息检索变得更加高效。 1. **IK Analyzer简介** - IK Analyzer是由...

    Apache Solr(solr-8.11.1.zip)

    11. **JSON支持**:Solr 8.x增强了对JSON的支持,允许用户使用JSON格式进行索引和查询,简化了与其他系统的集成。 12. **Cloud UI**:SolrCloud模式提供了一个Web界面,名为Cloud UI,用于监控集群状态、管理集合和...

    Apache Solr lucene 搜索模块设计实现

    Apache Solr 和 Lucene 是两个在全文搜索领域广泛使用的开源框架。它们的组合为构建高效、可扩展的搜索引擎提供了强大的工具。以下是对这两个组件及其在搜索模块设计实现中的关键知识点的详细说明: 1. **Apache ...

    apache Lucene4.7最全最新的jar包

    7. **内存管理**:Lucene 4.7对内存使用进行了优化,减少了在索引构建和搜索过程中的内存消耗,降低了对硬件的要求。 8. **分布式搜索**:通过Solr等扩展,Lucene支持分布式搜索,可以处理大规模的数据集并提供高...

    lucene简单介绍及solr搭建使用

    Lucene是Apache软件基金会的一个项目,它提供了一个强大的文本分析和索引框架,能够高效地对大量文本数据进行索引和搜索。Lucene的核心功能包括分词、文档分析、索引构建和搜索。它的索引结构是倒排索引,这种结构...

    Apache Solr(solr-8.11.1.tgz)

    Apache Solr 是一个开源的全文搜索引擎,由Apache软件基金会维护,是Lucene项目的一部分。它提供了高效、可扩展的搜索和导航功能,广泛应用于企业级的搜索应用中。Solr-8.11.1是该软件的一个特定版本,包含了最新的...

    lucene、solr中文分词器

    在构建高效的全文搜索引擎时,Apache Lucene 和 Solr 是两个非常重要的开源库。它们提供了强大的信息检索和文本分析功能,但Lucene默认的分词器并不适用于中文处理。因此,对于中文索引和搜索,我们需要引入专门针对...

    搜索引擎解密Lucene与Solr的前世今生.ppt

    本篇将深入探讨两款广泛应用的开源搜索引擎技术——Lucene和Solr,揭示它们的核心原理以及发展历程。 首先,Lucene是一个强大的全文索引库,由Doug Cutting于1999年开发,最初是一个Java程序。2001年,Lucene被捐赠...

Global site tag (gtag.js) - Google Analytics