首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >solr方面与mysql关系模式

solr方面与mysql关系模式
EN

Stack Overflow用户
提问于 2010-03-05 02:46:35
回答 1查看 2.2K关注 0票数 4

我有兴趣找出在solr/mysql/app设置中查询solr的最佳/最快(最有效)方法是什么。我有一个mysql DB,它在一个关系模式中有一个大的主表和几个较小的表。我还在构建一个应用程序,它使用层次结构,并根据相关表格中的数据构建菜单。

我一开始只在mysql中这样做,但很快发现(有大量数据) mysql在与主表等使用连接时(即使使用mysql索引),计算这些相关数据的计数可能会相当慢。目前,我采用的方法是使用solr为我的主表建立索引,并在mysql中保留较小的相关表。对于每个菜单项,我将在运行时查询solr的计数,这感觉会很慢。

是否更快/更好:

1.)将关联表保存在mysql中,并为关联表中的每一行设置facet。当我查询可维护表时,以某种方式将它们链接在一起吗?这听起来像是最快的选择,但在我的应用程序中可能会很棘手(必须匹配两个不同的数组)。

2)将关联表保存在mysql中,运行时调用/统计每个关联项的主索引表中的数据。例如,对于品牌菜单,我需要获取每个品牌的计数,要求我将每个菜单项作为查询发送到solr (以获取计数)。我意识到每个查询都很快,但可能有几百个或数千个品牌。

3)只需将所有数据放入solr并使用facets?-但是我如何识别每个facet并确定mysql表格中显示的每个facet的相关信息?相关mysql表中的每个条目都有一个标题、描述、格式化的url、元数据,相关信息是否也应该存储在solr中?在不同的索引中?在这种情况下,我应该一起摆脱mysql吗?

任何关于最佳(实践)选项的想法都将非常感谢,或者任何我没有想到的建议都将是很好的。

干杯,可

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-08 01:51:18

Solr是为搜索而构建的-它使用自己的查询语言和缓存机制针对方面等进行了优化。如果你能够编写一些(基于MySQL的)代码,在搜索查询/结果的性能方面击败Solr,那将会让我非常惊讶。

看看Solr是如何索引她的数据的(或者,为了正确地索引数据,您实际上需要向它提供什么。在这方面有很好的入门文档。也许你最终会得到60%的Solr索引和40%的MySQL --不管怎样,从我在你的计划中看到的来看,Solr是非常值得探索的。

基于for的应用程序的常规方法:

  • 1)为Solr
  • 创建与您的数据和搜索需求相匹配的索引方案2)将MySQL数据导入到Solr (也有工具)
  • 3)创建将用户查询转换为Solr查询的前端应用程序
  • 4)将这些查询发送到Solr
  • 5)解析结果并调整查询以创建新的方面
  • 6)尽可能缓存

HTH,Matt

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2381861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档