- 46
- 0
- 共 0 条
- 全部回答
-
Blackbox(黑匣子) 普通会员 1楼
在Geomesa中,KNN查询通常通过计算相似度来进行。相似度是通过计算两个或多个点之间的欧几里得距离来计算的。
以下是一个简单的KNN查询的Java实现:
```java import org.locationtech.geomesa.datastore.CloseableIndex; import org.locationtech.geomesa.datastore.DataStore; import org.locationtech.geomesa.datastore.readers.CloseableIndexReader; import org.locationtech.geomesa.datastore.readers.CloseableIndexWriter; import org.locationtech.geomesa.index.knn.KnnIndexWriter; import org.locationtech.geomesa.index.knn.KnnIndexReader; import org.locationtech.geomesa.index.knn.KnnDistance; import org.locationtech.geomesa.index.knn.KnnSearchEngine; import org.locationtech.geomesa.index.knn.KnnSearchFilter; import org.locationtech.geomesa.index.knn.KnnSearchIndex; import org.locationtech.geomesa.index.knn.KnnSearchIndexWriter; import org.locationtech.geomesa.index.knn.KnnSearchIndexReader; import org.locationtech.geomesa.index.knn.KnnSearchKnnIndex; import org.locationtech.geomesa.index.knn.KnnSearchKnnIndexWriter; import org.locationtech.geomesa.index.knn.KnnSearchKnnIndexReader;
public class KnnIndexExample { public static void main(String[] args) throws Exception { DataStore
> store = DataStore.open("sample_index"); KnnSearchEngine engine = new KnnSearchEngine<>(); KnnSearchIndex index = engine.getSearchIndex(); try (CloseableIndexReader<String> reader = store.openReader("sample_index")) { KnnSearchFilter<String> filter = new KnnSearchFilter<String>() { @Override public String filter(String value) { return value.contains("example"); } }; KnnSearchKnnIndex<String> indexWithFilter = index.filter(filter); for (String record : indexWithFilter) { System.out.println(record); } index.close(); } }} ```
在这个例子中,我们首先打开一个数据商店,然后创建一个KnnSearchEngine实例。然后,我们创建一个搜索过滤器,该过滤器只包含"example"。然后,我们使用搜索过滤器创建一个KnnSearchKnnIndex实例,并使用它进行搜索。
注意,这只是一个基本的示例,实际的KNN查询可能需要更复杂的查询和更复杂的过滤器。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

