java - 基于 Apache Solr 的 Spring Boot 应用搜索功能
问题描述
我们正处于计划阶段,为我们的 Spring Boot 应用程序构建一个具有自动完成功能的搜索功能,这将与 Pinterest 上的搜索功能非常相似。我们正在考虑,开发一个基于 Apache Solr 的搜索引擎。也就是说,我们的团队(2 人)之前没有搜索引擎方面的经验,并且将在他们学习时实施解决方案。
虽然,我没有提供我们对搜索引擎的详细要求。在我们开始为此投入更多资源之前,我想征求其他成员的意见。请就以下几点提出您的意见
- 对于 7-8 年经验丰富的 Java 开发人员来说,Apache Solr 的学习曲线是多少?
- 构建这样一个搜索引擎的工作量估计(以小时为单位)应该是多少。考虑到两个人正在研究它的交付估计?
- Apache Solr 需要考虑哪些额外的基础架构成本?
感谢您的投入。
更新:有人投票支持关闭问题,因为问题的答案是基于意见的。好吧,这个问题确实需要其他成员分享他们的意见,这样我们才能对问题中描述的具体场景做出更好的决定。那应该不是问题。
解决方案
我试图为您的查询提供答案。在解决所有问题之前,无法给您确切的答案。但是,如果您对我提出的问题有答案,它将帮助您进行详细的分析。
对于 7-8 年经验丰富的 Java 开发人员来说,Apache Solr 的学习曲线是多少?
对于learnning solr,不需要任何Java背景。solr 是在 lucene 上开发的。lucene是一个用java开发的搜索库。Solr 是基于配置的。但这仍然取决于您要如何使用它。有许多选项可以通过以 xml、json 等形式发布数据来索引数据。您可以使用 solr DIH 功能为 rdbms 等结构化数据建立索引。您还可以使用面向 Java 开发人员的 solrJ api 索引数据。
构建这样一个搜索引擎的工作量估计(以小时为单位)应该是多少。考虑到两个人正在研究它的交付估计?
这一切都取决于搜索引擎的范围。你想如何索引数据?你想如何查询数据?您想要实现的所有功能,例如自动建议、分面、突出显示、过滤等。是否需要定期重新索引数据。
Apache Solr 需要考虑哪些额外的基础架构成本? Solr 带有 solr 云功能。其中 solr 可以在集群或分布式模式下使用。这里可以使用分片和复制功能。如果您想使用 solr cloud,则需要考虑安装 zookeeper 和 solr 节点。如果您想以独立模式运行 solr,则不需要太多基础设施。但这又取决于被索引的数据大小。它多久更新一次?有多少用户在查询它等。
推荐阅读
- reactjs - 在按钮单击事件上调用组件
- spring - How to split value of property in application.properties
- ios - 如何在 swift 而非客观 c 中获得互联网连接时将离线本地数据库与服务器同步?
- angular - NGRX 通过@Effect 将重点放在输入上
- c# - ArrayList 不包含“计数”的定义
- r - 按月划分的子集数据
- python-requests - 发送标头以发布请求
- javascript - 在纯 Javascript 中使用 Django 权限
- javascript - TypeError: cannot read property 'id' of undefined - Angular 8 Testing
- java - 有什么方法可以读取在 GRID 机器(Selenium-Java)中下载的 csv 文件