简体   繁体   English

基于 Apache Solr 的 Spring Boot 应用搜索功能

[英]Search feature for Spring boot application based on Apache Solr

We are in the planning phase for building a search feature with autocomplete for our Spring boot application which will be very similar to search feature on Pinterest.我们正处于为 Spring boot 应用程序构建具有自动完成功能的搜索功能的规划阶段,该功能与 Pinterest 上的搜索功能非常相似。 We are considering, developing a search engine based on Apache Solr.我们正在考虑,开发一个基于 Apache Solr 的搜索引擎。 That said, our team(2 people) has no prior experience with search engines and would be implementing the solution as they learn.也就是说,我们的团队(2 人)之前没有使用搜索引擎的经验,并且会在他们学习时实施该解决方案。

Although, I have not provided our detailed requirement for the search engine.虽然,我没有提供我们对搜索引擎的详细要求。 I would like to get input by other members before we start investing more resources on this.在我们开始为此投入更多资源之前,我想征求其他成员的意见。 Kindly give your input on the following points请就以下几点提出您的意见

  1. What is the learning curve for Apache Solr for a 7-8 years experienced Java developer?对于 7-8 年经验丰富的 Java 开发人员来说,Apache Solr 的学习曲线是怎样的?
  2. What should be the effort estimation(in hours) for building such a search engine.构建这样一个搜索引擎的工作量估算(以小时为单位)应该是多少。 And delivery estimation given two people are working on it?和交付估计给两个人正在处理它?
  3. What additional infrastructure cost to consider for Apache Solr? Apache Solr 需要考虑哪些额外的基础设施成本?

Thanks for your inputs.感谢您的投入。

Update: Somebody has voted for closing the question because answer to the question is opinion based.更新:有人投票赞成结束这个问题,因为这个问题的答案是基于意见的。 Well, this question does require other members to share their opinion so we can make a better decision about the specific scenario described in the question.嗯,这个问题确实需要其他成员分享他们的意见,以便我们可以对问题中描述的特定场景做出更好的决定。 That should not be a problem.那应该不是问题。

I tried to provide the answer to your queries.我试图为您的查询提供答案。 One cannot give you the exact answer until all the questions are resolved.在所有问题都得到解决之前,人们无法给你确切的答案。 But if you have answers to question I have raised, it would help you to do the analysis in detailed way.但是,如果您对我提出的问题有答案,则可以帮助您进行详细的分析。

  1. What is the learning curve for Apache Solr for a 7-8 years experienced Java developer?对于 7-8 年经验丰富的 Java 开发人员来说,Apache Solr 的学习曲线是怎样的?

    One does not need any java background as such for the leanrning solr.学习solr不需要任何java背景。 The solr is developed on lucene. solr 是在 lucene 上开发的。 The lucene is a search library developed in java. lucene是一个用java开发的搜索库。 Solr is configuration based. Solr 是基于配置的。 But still it all depends on how you want to use it.但这一切都取决于您想如何使用它。 There are many option by which you can index the data by posting the data in the form of xml,json etc. You can indexed the structured data like rdbms by using solr DIH feature.有很多选项可以通过以 xml、json 等形式发布数据来索引数据。您可以使用 solr DIH 功能对 rdbms 等结构化数据进行索引。 You can also index the data using solrJ api which are for Java developer.您还可以使用面向 Java 开发人员的 solrJ api 对数据进行索引。

  2. What should be the effort estimation(in hours) for building such a search engine.构建这样一个搜索引擎的工作量估算(以小时为单位)应该是多少。 And delivery estimation given two people are working on it?和交付估计给两个人正在处理它?

    It all depends on the scope of the search engine.这一切都取决于搜索引擎的范围。 How you want to index the data?你想如何索引数据? How you want to query the data?你想如何查询数据? What all features you want to implement for example autosuggest, faceting, highlighting, filtering etc. Is there any requirement of re-indexing the data periodically.您想要实现的所有功能是什么,例如自动建议、分面、突出显示、过滤等。是否需要定期重新索引数据。

  3. What additional infrastructure cost to consider for Apache Solr? Apache Solr 需要考虑哪些额外的基础设施成本? Solr come with solr cloud feature. Solr 自带 solr 云功能。 Where solr can be used in clustered or distributed mode. solr 可用于集群或分布式模式。 Here sharding and replication features can be used.这里可以使用分片和复制功能。 If you want to use solr cloud then installing zookeeper and solr nodes need to be considered.如果你想使用solr cloud,那么需要考虑安装zookeeper和solr节点。 If you want to run solr in standalone mode then not much infra is needed.如果您想在独立模式下运行 solr,则不需要太多基础设施。 but again it all depends on the data size which is been indexed.但这一切都取决于被索引的数据大小。 How frequently it is updated?多久更新一次? How many users are querying it etc.有多少用户在查询它等等。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM