例如,我在MySQL中创建一张表,字段是id,keyword,content_id,然后查找的时候就可以通过关键字查找数据的id。它的原理和ES是一样的。既然如此,ES的优势在哪里?
例如,我在MySQL中创建一张表,字段是id,keyword,content_id,然后查找的时候就可以通过关键字查找数据的id。它的原理和ES是一样的。既然如此,ES的优势在哪里?
因为 ES 不仅仅有倒排索引来优化海量数据的查询,还有聚合。
如果只是简单的使用搜索,MySQL >=5.7.6 的 Fulltext (全文索引)也可以直接使用,而不是你自己去这样处理。
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
3 回答2k 阅读
2 回答2k 阅读
是的,可以使用MySQL创建倒排索引来实现一些类似搜索功能的需求,但与 Elasticsearch(ES)相比,MySQL的搜索能力和性能可能会有限。
倒排索引是一种常用的搜索引擎技术,用于快速查找包含特定词语的文档或记录。在MySQL中,可以通过合适的表设计和创建适当的索引来模拟倒排索引的功能。
但是,与ES相比,MySQL在以下方面可能存在一些限制:
搜索功能:ES提供了丰富而强大的全文搜索和匹配功能,支持复杂的查询和过滤条件。而MySQL的全文搜索功能相对有限,可能不如ES提供的高级搜索功能灵活和高效。
性能和伸缩性:ES专注于搜索和分析领域,优化了搜索引擎的性能和扩展性。它使用分布式索引和分布式搜索来提供高性能和可扩展性。MySQL在大规模数据集和高并发查询方面可能会面临性能瓶颈。