我正在使用MySQL数据库,并一直在使用基于数据库的搜索。使用数据库引擎和Lucene搜索引擎有什么优缺点?我想听听关于何时何地使用它们的建议。
我正在使用MySQL数据库,并一直在使用基于数据库的搜索。使用数据库引擎和Lucene搜索引擎有什么优缺点?我想听听关于何时何地使用它们的建议。
我建议你阅读全文搜索引擎与数据库管理系统的比较。一句话总结:如果你的主要用例是全文搜索,请使用Lucene。如果你的主要用例是连接和其他关系操作,请使用数据库。对于更复杂的用例,可以使用混合解决方案。
我们在工作中使用Sql Server来进行一些Fulltext搜索的查询。如果数据量很大,Sql会在FullText搜索返回的结果集和其他查询之间进行内部连接,这可能会很慢,特别是如果数据库运行在低功率机器上(20GB的数据需要2GB的内存)。将同样的查询转换为Lucene可以显著提高速度。