【发布时间】:2016-05-16 12:08:12
【问题描述】:
我想在我的应用程序中进行全文搜索(一次我有大约 1000 个文档)。但几乎每次这些文件都会有所不同。我想使用 lucene 进行全文搜索,但不创建索引。我不想为索引维护单独的辅助/主内存。
这可能吗?如果是,那么我将对性能产生什么影响(假设我将拥有 1000 个文档,最大文档约为 10-15 MB)。
另外,Lucene 有其他替代品吗?
【问题讨论】:
标签: java lucene full-text-search
我想在我的应用程序中进行全文搜索(一次我有大约 1000 个文档)。但几乎每次这些文件都会有所不同。我想使用 lucene 进行全文搜索,但不创建索引。我不想为索引维护单独的辅助/主内存。
这可能吗?如果是,那么我将对性能产生什么影响(假设我将拥有 1000 个文档,最大文档约为 10-15 MB)。
另外,Lucene 有其他替代品吗?
【问题讨论】:
标签: java lucene full-text-search
是的,您可以使用RAMDirectory 创建内存驻留索引。只要您的索引不太大,它通常应该表现良好。请注意文档中的警告:
这个类不适用于巨大的索引。超过数百兆字节的所有内容都会浪费资源(GC 周期),因为它使用 1024 字节的内部缓冲区大小,产生数百万字节[1024] 数组。此类针对小型内存驻留索引进行了优化。它在多线程环境中的并发性也很差。
另外,是的,还有其他全文搜索工具...
【讨论】: