查询6 GB索引文件的RAMDirectory

时间:2017-09-27 02:51:53

标签: apache-spark lucene

我正在编写一个火花作业,如果有数百万个文档在Lucene索引上进行搜索以获取详细信息的用例。

索引大约为6 GB,包含大约4千万个docs.Now我不能使用弹性搜索,因为进行批量搜索会遇到瓶颈。我使用HDFS目录进行搜索,性能不佳。

我正在考虑为每个执行者创建一个RAMDirectory索引搜索器。

我在代码中看到以下警告:

  

警告:此类不适用于大型索引。超过几百兆字节的所有内容都会浪费资源(GC周期),因为它使用1024字节的内部缓冲区,产生数百万字节[1024]数组。此类针对小型内存驻留索引进行了优化。它在多线程环境中也具有错误的并发性。

我的搜索并不简单(使用更多像这样和其他术语查询),这些不能被spark SQL模仿。

我的问题是有没有人使用ram目录而不是文件的Gb来查看。我的索引是只读的,所以也许我不会遇到这个问题。

如果不是如何解决这个问题?

0 个答案:

没有答案