[英]Apache Lucene - Optimizing Searching
我正在开发Java(使用Spring)中的Web应用程序,该应用程序使用SQL Server数据库。 我使用Apache Lucene为我的Web应用程序实现搜索功能。 使用Apache Lucene,在执行搜索之前,我会创建标题索引。 我首先从数据库中获取所有标题的列表。 然后,我遍历标题列表,并将每个标题添加到索引中。 每当用户搜索某些内容时,就会发生这种情况。
我想知道是否有更好,更有效的创建索引的方法? 我知道我的方式效率很低,并且在标题列表很长时需要很长时间才能完成。
任何建议将不胜感激。
谢谢
你应该:
这种方法的好处:
优化Lucene之前:SQL Server已经具有全文搜索功能。 如果这涵盖了您的用例,请使用它。 这是最简单的方法,因为SQL Server负责保持搜索索引与数据库同步。
如果SQL Server全文搜索不适合您的用例,则您的应用程序必须创建自己的搜索索引并使其与数据库保持同步。 为此,您应该:
Lucene在存储搜索索引的地方很灵活。 您可以将其存储在文件系统或数据库的目录中(或编写您自己的存储提供程序)。 我建议将其存储在文件系统中,因为与将其存储在数据库中相比,性能要好得多。
如果没有太多标题可索引,则还可以使用内存搜索索引,该索引在每次应用程序启动时都会重新创建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.