![](/img/trans.png)
[英]How do I get around an out of memory error when indexing large files using Apache Lucene?
[英]When to do indexing in lucene
我有REST服务,可处理数据库(mongodb)中的数据。 我想添加apache lucene库来实现全文搜索。
我之前从未使用过Lucene,因此在检查教程时试图了解它的工作原理,但对我来说仍然不清楚的是:
何时建立数据库数据索引? 我有数据库,一些数据添加和删除的频率更高,一些数据很少更新。 我可以按所有最新数据进行搜索请求的结构应该是什么。
我是否应该在每次数据更新时都更新索引,否则它将自动完成,并且足以索引一次? 如果应该重新编制索引,那么应多久进行一次?
如果要搜索实时数据,则应在执行数据库中的add, update and delete
数据的同时add, update and delete
lucene索引中的数据。
仅对于indexing
它会很好,但不会optimize
每个操作optimize
索引。
您可以每天一次或根据您的使用来优化索引。 优化索引将帮助您获得更快的搜索结果。
请参考本教程 ,从Lucene的基本应用开始。
您可以为此尝试MongoDB自己的功能(请参阅Mongo Docs )。 这可能没有灵活性,也没有Lucene强大,但是它是免费提供的。
您确实问了一个有问题的问题:“何时进行索引?”。 答案很大程度上取决于您的要求。 但是,您可以查看这篇文章以了解其技术上是如何完成的:脱机,即在索引编制方面您总是会落后很多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.