首页 > 解决方案 > 基于 Apache Solr 的 Spring Boot 应用搜索功能

问题描述

我们正处于计划阶段,为我们的 Spring Boot 应用程序构建一个具有自动完成功能的搜索功能,这将与 Pinterest 上的搜索功能非常相似。我们正在考虑,开发一个基于 Apache Solr 的搜索引擎。也就是说,我们的团队(2 人)之前没有搜索引擎方面的经验,并且将在他们学习时实施解决方案。

虽然,我没有提供我们对搜索引擎的详细要求。在我们开始为此投入更多资源之前,我想征求其他成员的意见。请就以下几点提出您的意见

  1. 对于 7-8 年经验丰富的 Java 开发人员来说,Apache Solr 的学习曲线是多少?
  2. 构建这样一个搜索引擎的工作量估计(以小时为单位)应该是多少。考虑到两个人正在研究它的交付估计?
  3. Apache Solr 需要考虑哪些额外的基础架构成本?

感谢您的投入。

更新:有人投票支持关闭问题,因为问题的答案是基于意见的。好吧,这个问题确实需要其他成员分享他们的意见,这样我们才能对问题中描述的具体场景做出更好的决定。那应该不是问题。

标签: javaspring-bootsolrlucenefull-text-search

解决方案


我试图为您的查询提供答案。在解决所有问题之前,无法给您确切的答案。但是,如果您对我提出的问题有答案,它将帮助您进行详细的分析。

  1. 对于 7-8 年经验丰富的 Java 开发人员来说,Apache Solr 的学习曲线是多少?

    对于learnning solr,不需要任何Java背景。solr 是在 lucene 上开发的。lucene是一个用java开发的搜索库。Solr 是基于配置的。但这仍然取决于您要如何使用它。有许多选项可以通过以 xml、json 等形式发布数据来索引数据。您可以使用 solr DIH 功能为 rdbms 等结构化数据建立索引。您还可以使用面向 Java 开发人员的 solrJ api 索引数据。

  2. 构建这样一个搜索引擎的工作量估计(以小时为单位)应该是多少。考虑到两个人正在研究它的交付估计?

    这一切都取决于搜索引擎的范围。你想如何索引数据?你想如何查询数据?您想要实现的所有功能,例如自动建议、分面、突出显示、过滤等。是否需要定期重新索引数据。

  3. Apache Solr 需要考虑哪些额外的基础架构成本? Solr 带有 solr 云功能。其中 solr 可以在集群或分布式模式下使用。这里可以使用分片和复制功能。如果您想使用 solr cloud,则需要考虑安装 zookeeper 和 solr 节点。如果您想以独立模式运行 solr,则不需要太多基础设施。但这又取决于被索引的数据大小。它多久更新一次?有多少用户在查询它等。


推荐阅读