search - 如何使用地理空间搜索在 solr 中索引 d 维向量?
问题描述
我正在尝试为 solr 创建一个可以索引 3d 模型的插件。我将从几个不同的视图中对每个模型进行“截图”并预处理这些图像,以便它们以一维向量表示。
我想为此目的使用 lucene/solr 地理空间搜索,因为我看到有一个选项可以索引一个向量(大于 2 个维度)并根据向量的距离进行搜索(根据位置)。
不幸的是,这个选项的文档上周消失了,并且没有缓存在谷歌中。
如何索引维度 > 2 的位置向量?
文档的链接在这里: https ://wiki.apache.org/solr
我从这里找到了它: https ://lucene.apache.org/solr/guide/6_6/spatial-search.html#SpatialSearch-LatLonPointSpatialField
解决方案
地理空间搜索旨在使用 n 维点 (Lucene),但似乎无法使用高于 2d 的尺寸的 Solr 实现。
如果您为每个字段索引一维向量/坐标(使用双字段类型),您仍然可以使用 Solr 进行 3d 空间搜索。
然后,为了按与给定点的距离查询和排序文档geodist(sfield2D,x,y)
,您可以使用dist()
:
返回 n 维空间中两个向量(点)之间的距离。获取幂,加上两个或更多 ValueSource 实例并计算两个向量之间的距离。
要计算任意点 (0,0,0) 和每个文档的索引点之间的欧几里德距离,您可以使用:
dist(2, fieldx, fieldy, fieldz, 0, 0, 0)
另请参阅:
-计算 3D 空间中的
距离
-距离排序或提升(函数查询)
-地理空间搜索的 geodist() 和 dist() 之间的区别
推荐阅读
- excel - 这个工作簿在 Excel 2018 中不起作用?
- python - Python - 简单的 for 循环无法按预期工作(使用请求模块)
- ruby-on-rails - 带有接受单选按钮的嵌套属性
- c - 配置 $(CC) 以在包含可以安全删除时发出警告
- angular - ngOnChanges 没有被触发
- authorization - Postman 上的授权类型 Bearer Token
- parse-platform - 有没有办法限制查询中对象返回的键?
- javascript - 查找隐藏的父元素jQuery
- java - Java 正则表达式匹配范围内的数字
- c# - 使用 Prism 时如何允许 WPF 为 Window 控件解析 ContentTemplate?