为什么在Mongo中使用ElasticSearch?

 君慎豫行 发布于 2023-02-04 17:17

我最近阅读了一些关于mongodb for storage和elasticsearch for indexing/search 的组合的文章.我觉得我错过了一些东西.你为什么要走这条路,而不是只使用mongo来索引数据?elasticsearch带来了哪些好处,是否值得增加复杂性?

2 个回答
  • 搜索引擎和数据库做了一些根本不同的事情.一个好的搜索引擎(如ElasticSearch)支持更精细和复杂的索引,方面,突出显示等.在ElasticSearch的情况下,您还可以获得"实时"回复.另一方面,搜索引擎不会返回与您的查询匹配的每个文档.相反,它会根据匹配的数量对文档进行评分,并返回得分最高的文档.当您查询MongoDB等数据库时,您应该期望它返回与您的查询匹配的所有内容.

    可以将整个文档存储在ElasticSearch中,但它通常不是最佳解决方案.通常,您将其配置为返回文档ID,用于从数据库中获取文档.MongoDB是针对基于文档的存储进行了优化的数据库.这就是为什么你听说人们一起使用它们的原因.

    编辑:

    发布时,它符合建议,但可能不再是这种情况.

    2023-02-04 17:19 回答
  • ElasticSearch实现了更多功能,例如将文本自定义拆分为单词,自定义词干,分面搜索等等.虽然MongoDB(相当简单)的文本搜索可以做到这一点,但它并不像ElasticSearch那样强大.

    如果您所做的只是在单个字段中查找单个字符串,那么MongoDB的普通查询系统将非常有效.如果您需要在多个字段中查找单词,那么MongoDB的文本搜索将起作用.如果你需要更多的东西,ElasticSearch就是你的选择.

    2023-02-04 17:19 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有