【发布时间】:2019-01-16 05:05:53
【问题描述】:
Elastic 搜索的新手,使用索引来存储文档,例如是关于员工的公司信息,索引中目前有600,000个员工数据,在这些员工中,我们需要根据地址等特定属性计算距离。我们所做的基本上是以下步骤:
- 在 java 程序中拉取索引内的所有文档。
- 使用 Lambda 实现并行性并迭代每个文档,然后计算与集合中其他元素的距离(lavenshtien、NGram 和 TFID),然后取平均值。
这个流程的问题是我们将索引中存在的所有文档加载到java内存中然后应用公式,这会占用大量时间来加载和应用公式,而且JVM会有内存限制将文档加载到内存中。
请原谅我对这个主题的了解有限,但有没有一种方法可以让我们直接在弹性搜索上运行这些距离公式,而不是将整个索引加载到内存中。
感谢您的帮助...
【问题讨论】:
标签: java elasticsearch lucene