我有兴趣了解在solr/mysql/app设置中查询solr的最佳/最快(最有效)的方法是什么.我有一个mysql数据库,在关系模式中有一个大的主表和几个较小的表.我还在构建一个使用层次结构的应用程序,并根据相关表中的数据构建菜单.
我开始只在mysql中执行此操作,但很快发现(使用gigs of data),当使用与主表等的连接时(即使使用mysql索引),mysql在计算此相关数据的计数时会非常慢.目前我采用的方法是使用solr索引我的主表,并将较小的相关表保存在mysql中.对于每个菜单项,我将在运行时查询solr的计数,感觉它会很慢.
更快/更好:
1.)将相关表保存在mysql中,同时为相关表中的每一行设置构面.当我查询维护时,以某种方式将它们链接在一起?这听起来像是最快的选择,但在我的应用程序中可能很棘手(必须匹配2个不同的数组).
2)将相关表保存在mysql中,并在运行时为每个相关项调用/计数主索引表中的数据.例如,对于品牌菜单,我需要计算每个品牌的数量,要求我将每个菜单项作为查询发送给solr(以获取计数).我意识到每个查询都很快,但可能有几百或几千个品牌.
3)只需将所有数据放入solr并使用facet? - 但是如何识别每个方面并确定每个方面的mysql表格中的相关信息?相关mysql表中的每个条目都有标题,描述,格式化url,元数据,相关信息是否也应存储在solr中?在不同的指数?在这种情况下,我应该完全摆脱mysql?
关于最佳(练习)选项的任何想法都将受到高度赞赏,或者我没有想到的任何建议都会很棒.
干杯柯
Solr是为搜索而构建的 - 它是针对facet等进行优化的,使用它自己的查询语言和缓存机制.如果您能够编码能够在搜索查询/结果的性能方面击败Solr的某些东西(基于MySQL),那将会让我感到非常惊讶.
看看Solr如何为她的数据编制索引(或实际上你需要提供什么来为它准确索引.有很好的入门文档.也许你最终得到60%索尔索引和40%MySQL - 无论哪种方式,从我读到你的计划,Solr非常值得探索.
基于网络的应用程序的常规方法:
HTH,马特
| 归档时间: |
|
| 查看次数: |
2176 次 |
| 最近记录: |