使用多值位置字段在 solr 中搜索

2023-12-25

我可以为 solr 中的位置类型字段索引多个值。修改后的响应schema.xml索引修改后的 exampledocs 看起来像 查询:

  http://192.168.3.19:8983/solr/select?wt=json&indent=true&q=*:*

响应:

{
    "id":"TWINX2048-3200PRO",
    "name":"CORSAIR  XMS 2GB (2 x 1GB) 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) Dual Channel Kit System Memory - Retail",
    "manu":"Corsair Microsystems Inc.",
    "price":185.0,
    "popularity":5,
    "inStock":true,
    "manufacturedate_dt":"2006-02-13T15:26:37Z",
    "payloads":"electronics|6.0 memory|3.0",
    "cat":["electronics","memory"],
    "store":["37.7752,-122.4232","37.7752,-122.4232","38.7752,-122.4232","39.7752,-122.4232"],
    "features":[
      "CAS latency 2,\t2-3-3-6 timing, 2.75v, unbuffered, heat-spreader"]},
  {
    "id":"VS1GB400C3",
    "name":"CORSAIR ValueSelect 1GB 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) System Memory - Retail",
    "manu":"Corsair Microsystems Inc.",
    "price":74.99,
    "popularity":7,
    "inStock":true,
    "manufacturedate_dt":"2006-02-13T15:26:37Z",
    "payloads":"electronics|4.0 memory|2.0",
    "cat":["electronics","memory"],
    "store":["37.7752,-100.0232","37.7752,-122.4232","38.7752,-122.4232","39.7752,-122.4232"]},
  {
    "id":"VDBDB1A16",
    "name":"A-DATA V-Series 1GB 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) System Memory - OEM",
    "manu":"A-DATA Technology Inc.",
    "popularity":0,
    "inStock":true,
    "manufacturedate_dt":"2006-02-13T15:26:37Z",
    "payloads":"electronics|0.9 memory|0.1",
    "cat":["electronics","memory"],
    "store":["45.17614,-93.87341","37.7752,-122.4232","38.7752,-122.4232","39.7752,-122.4232"],
    "features":[
      "CAS latency 3,\t 2.7v"]},
  {

女巫意味着数据已正确存储。 如果我查询第一个存储的地理位置,它工作正常,但如果我搜索第三个或第四个地理位置,solr 不会返回任何结果。 如果我运行以下查询:

http://localhost:8983/solr/select?wt=json&indent=true&q=*:*&fq={!geofilt%20pt=45.17614,-93.87341%20sfield=store%20d=5}

我得到了正确的答案:



{
        "id":"VDBDB1A16",
        "name":"A-DATA V-Series 1GB 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) System Memory - OEM",
        "manu":"A-DATA Technology Inc.",
        "popularity":0,
        "inStock":true,
        "manufacturedate_dt":"2006-02-13T15:26:37Z",
        "payloads":"electronics|0.9 memory|0.1",
        "cat":["electronics","memory"],
        "store":["45.17614,-93.87341","37.7752,-122.4232","38.7752,-122.4232","39.7752,-122.4232"],
        "features":[
          "CAS latency 3,\t 2.7v"]},
      {

But if the query is:

    http://localhost:8983/solr/select?wt=json&indent;=true&q;=*:*&fq;={!geofilt%20pt=38.7752,-122.4232%20sfield=store%20d=50}
  

我不会得到任何结果。 这是solr的问题吗?有什么解决办法吗?


老问题,但它仍然出现在许多 Google 搜索结果中,因此这里有有关多值坐标字段的更多信息:

您可以将以下内容添加到 schema.xml 中:

<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
           spatialContextFactory="com.spatial4j.core.context.jts.JtsSpatialContextFactory"
           distErrPct="0.025"
           maxDistErr="0.000009"
           units="degrees" />

然后使用location_rpt场为多值坐标场,并受益于所有优点Solr 4 的新空间搜索 https://cwiki.apache.org/confluence/display/solr/Spatial+Search#SpatialSearch-SpatialRecursivePrefixTreeFieldType(abbreviatedasRPT) offers.

您还需要添加JTS http://sourceforge.net/projects/jts-topo-suite/如果您使用自定义的spatialContextFactory,请将jar添加到您的solr类路径中。如果您从fieldType定义,多值字段仍然有效,但其他高级功能将不起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用多值位置字段在 solr 中搜索 的相关文章

  • 客户端断开连接后 Solr 查询继续吗?

    我对 Solr 长期运行查询遇到的问题有一个理论 但我不知道它是否正确 也不知道如何测试它 我正在使用 cURL 从应用程序查询 Solr cURL 的配置方式是 如果 Solr 在 3 秒内未发送响应 它将放弃并断开连接 从而允许托管 c
  • 如何在android中向服务器发送数据[重复]

    这个问题在这里已经有答案了 我想在我的应用程序中循环发送纬度和经度 这是使用 GPS 获取此参数的函数 private void showLocation Location location String latitude Latitude
  • Solr 过滤查询 - 字符串与整数

    假设我正在尝试查询一堆具有类别的文档 并且我想将查询限制为指定的类别 据我所知 这只是使用 fq 参数 过滤器查询 我想知道将参数设置为整 数而不是字符串或数据通常的情况是否会提高性能 我只是会在右侧犯错 但我想我应该仔细检查一下 以防万一
  • 如何将定位模式从默认模式更改为“高精度/省电”(仅限设备)

    我正在尝试使用本教程实现谷歌地图来获取当前位置 Android 谷歌地图教程 https www androidtutorialpoint com intermediate android map app showing current l
  • Google 如何计算我在桌面上的位置?

    是的 这让我很困惑 我不确定你们中是否有人注意到或使用过使用桌面 或没有 GPS 没有移动设备 的谷歌地图上的 我的位置 功能 如果您有一个带有 google gears 的浏览器 最容易使用的是 Google Chrome 那么当使用我个
  • 使用经度和纬度查找给定距离内的所有附近客户

    我有一个包含客户经度和纬度的数据库 我有一个搜索表单 用户将在其中输入日志 纬度 距离下拉列表包含 50 英里 100 英里 当用户单击搜索时 我想编写一个 linq 查询从数据库中获取此距离半径内的所有客户 如何使用 C 和 linq 来
  • 如何禁用 solr 管理页面

    对于生产来说 拥有一个甚至不要求登录凭据的 solr 管理员感觉不安全 如何禁用默认的 solr 管理页面 我只是希望我的 web 应用程序使用 Solr 进行搜索词索引 我强烈建议保留管理页面用于调试目的 它在很多情况下拯救了我 有多种方
  • Solr 在 TrieDateField 上按年份过滤

    我的 Solr 模式有一个字段类型tdate班级的solr TrieDateField
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • NoSQL(MongoDB)与 Lucene(或 Solr)作为数据库[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 随着基于文档数据库的 NoSQL 运动的发展 我最近关注了 MongoDB 我注意到如何将项目视为 文档 就像 Lucene 以及 Solr 用
  • Solr 不搜索整数?

    我目前正在使用 Solr 为电子商务网站开发搜索引擎 所以我在 schema xml 中得到这两个字段
  • simplexml_load_file 在 Solr 的 url 中带有 &(与号)

    我正在使用 Solr 并有以下查询 该查询在我的浏览器中运行良好 http www someipaddress com 8983 solr select q fq shopid 40 start 0 rows 18 fq manufactu
  • 自定义存储库的 Spring Data Solr 优先级

    我需要在 Spring Data Solr 自定义存储库中实现以下内容 X 或 Y 和 Z 我当前的代码如下 Criteria criteria new Criteria x is X VALUE criteria criteria or
  • SOLR - Boost 函数 (bf) 以增加日期最接近 NOW 的文档的分数

    我有一个 solr 实例 其中包含具有 startTime 字段的文档 范围从上个月到一年后 我想添加一个提升查询 函数来提升 startTime 字段接近当前时间的文档的分数 到目前为止 我已经看到很多使用 rord 为较新的文档添加增强
  • MapItemView 在 dataChanged 信号后不会更新

    我正在使用 QMLMapItemView使用 C 的组件QAbstractListModel基于模型 这MapItemView当模型重置时 或者每当添加新项目或删除现有项目时 工作正常 但是 那MapItemView不反映对已添加项目的更改
  • query_string 和 multi_match 有什么区别?

    运行此查询时 query string query text fields field1 field2 multi match query text fields field1 field2 有什么不同 何时使用其中之一 何时使用另一个 q
  • Solr 错误 - 流主体被禁用

    我正在从浏览器 URL 中删除文档 我正在使用 Solr 7 4 0 我正在使用此查询来删除文档 http localhost 8983 solr test update stream body
  • 小数纬度/经度的最大长度 度?

    地球表面一度纬度和经度的最大长度是多少 以公里或英里为单位 但请注明 我不确定我是否说得足够清楚 让我重新表述一下 众所周知 地球不是一个完美的圆 赤道 或厄瓜多尔 纬度 经度变化 1 0 可能意味着一个距离 而两极的相同变化可能意味着另一
  • 加速 SOLR 搜索

    使用 SOLR Apache Lucene 3 6 时 SOLR 搜索响应非常慢 我正在尝试的一些性能增强技术是 SOLR 分页 mergeFactor 当前在 solrConfig xml 中设置为 10 SOLR 方面查询 solrco
  • 智能位置表单字段

    我的用户注册表单上有一个文本字段location 我本质上希望这个字段能够根据 Google 地图 或同等地图 进行验证 只允许有效位置通过 最好采用类似的格式滑铁卢 伦敦 or 伦敦 英国 要求 除了位置名称之外 我还想返回该位置中心的坐

随机推荐

  • 删除 SwipeRefreshLayout 中的加载微调器

    我使用 SwipeRefreshLayout 重新加载列表视图的内容 它有效并且 onRefreshListener 被触发 但是在加载完成后出现的小加载旋转器不想关闭 有办法让它走吗 Edit 修复了 SwipeView 意味着 Swip
  • sqlite3 使用 python 和 python cgi 插入

    In db py 我可以使用一个函数 功能插入 将数据正确插入到sqlite中 现在我想通过python fastcgi将数据插入到sqlite中 在 fastcgi 刚刚命名为post py 我可以正确获取请求数据 但是 当我打电话时数据
  • 以编程方式添加声明性服务

    是否可以使用某种 api 添加声明性服务 一点背景 我有一个基于动态脚本的服务器应用程序 可以随时添加 编辑或删除它们 这些脚本依赖于 OSGi 服务 并且可能彼此依赖 每当脚本获得 编辑后 脚本被编译为 JavaScript 并检测其依赖
  • 在 IntelliJ 中运行 grails 测试时遇到困难:非法使用非虚拟函数调用

    最近 我一直在尝试在 IntelliJ 中运行我的 spock 测试 它曾经工作得很好 并且在失败功能上有很好的调试 特定测试重新运行 在过去的几个月里 我开始收到以下错误 Error Error executing script Test
  • MySQL where 列 = 'x, y, z'

    这是我的情况 我需要选择 user id x OR y OR z 的所有消息 我有一个 PHP 数组 users 1 2 3 无论如何 是否可以选择 user id 这些值之一的所有消息 而无需进行大量查询 user id 1 OR use
  • 广告移动 |扩大横幅尺寸?

    我的目标是让 admob 横幅位于屏幕底部 如下图所示 http goo gl 3POR1n http goo gl 3POR1n但我不知道如何做横幅坐在屏幕上 因为我设置了更高的布局填充 LogCat 说 没有足够的空间来显示广告 需要
  • 如何使用 apt-get 在 ubuntu/debian 上安装 sbt [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 sbt 安装方向指示sbt在存储库中 然而 sudo apt get install y sbt Reading package list
  • 如何在没有验证码的情况下保护联系表单?

    在我的网站上 我有几个表格 某人 无需注册 可以向指定的注册用户发送消息 形式很简单 我想保持这种方式 如果我不想使用任何验证码 保护联系表单免受垃圾邮件和机器人攻击的最佳方法是什么 Your message Your e mail Sen
  • 具有等距间距的不同宽度的流体导航项

    我想创建一个流畅的水平导航链接列表 其中导航链接均匀分布并占据封闭容器的整个宽度 导航链接的宽度各不相同 第一个链接应左对齐 最后一个链接应右对齐 我使用以下技术取得的成功有限 ul display table width 100 li d
  • 用 href 包裹 img 标签的正则表达式包含 src

    编辑 抱歉巴特 我看过其他答案 但很难匹配这个 我想用一个特定的锚标记来包装一个图像标记 其中 src 是第二个属性 标题之后 该标记包含指向图像标记中 src 中找到的图像的链接 字符串中的 img 标签示例 这是通过tinymce wy
  • 找到所有可能的结束和开始重叠的组合

    在文中找到所有不重叠区域的组合 https stackoverflow com questions 53176104 find all combinations with non overlapped regionsI 代码粘贴在下面 该函
  • 在 sqlite 中制作字符串的规范化版本 - 波兰字符 ł

    Apple 提供了在数据库中使用存储在数据库中的文本的规范化版本创建附加列的示例 派生财产 https developer apple com library mac samplecode DerivedProperty Introduct
  • 更改线程实时调度策略失败:CONFIG_RT_GROUP_SCHED=y

    如果我在这里而不是超级用户发布此内容 我深表歉意 我试图在实时组中运行 docker 并且遇到了启用 cgroups CONFIG RT GROUP SCHED在内核中运行实时 docker 应用程序 此处 https docs docke
  • 从List>中获取对象并存储在ViewModel中

    建议 想要有逻辑地阅读答案 gt gt 选择 TAB 最旧的 Goal Presentation of books with related inventorydetails on homepage such as Book Title I
  • jQuery 中的自动完成功能以及动态添加的元素

    我的要求是当用户在输入字段之一输入一些字符 至少 3 个 时显示几个选项 这些字符也可能会动态添加 由于数据很大 我无法在页面加载时加载数据 有一个 ajax 调用来获取过滤后的数据 我得到的问题是Expected identifier第
  • 如何用JavaScript测试两个对象是否相同?

    我需要一个函数 function isSame a b 其中 如果a和b相同 则返回true 我试过return a b 但我发现 将返回 false 我期望这个函数可以得到一些结果 isSame 3 14 3 14 true isSame
  • Webpack 2 - 如何停止生成 CSS 和 HTML 的 .js 文件?

    我是 Webpack 2 的新手 所以请原谅我到目前为止的简单理解 根据网上的一些教程 我拼凑了一个工作package json and webpack babel config js file 本质上 我试图将 SCSS 转换为 CSS
  • MS SQL Server 2008“带(无锁)”相当于 IBM DB2 9.7

    在 MS SQL Server 2008 中你可以这样写 FROM EMPLOYEE as A with nolock DB2 9 7 是否有等效语法 谢谢 DB2 未提交的读取 与您一起 SELECT FROM whatevertable
  • apache 别名与符号链接

    在 UNIX 系统上使用 apache 时 如果您的文件系统在 home me web icons 中有图标 并且您希望浏览器能够在调用 url 时显示它们http www me com icons myicon jpg http www
  • 使用多值位置字段在 solr 中搜索

    我可以为 solr 中的位置类型字段索引多个值 修改后的响应schema xml索引修改后的 exampledocs 看起来像 查询 http 192 168 3 19 8983 solr select wt json indent tru