2016-03-03 71 views
0

我有一个坐在关系数据库中的数据源。我设法索引/存储所有内容到Solr中,并兴奋地看到搜索性能和令人敬畏的API(search/admin..etc)。关系数据库之上的Solr-ish查询API

但是,人们会说如果你的数据是真正结构化的,那么如果你把所有东西都编入索引,那么关系数据库应该是快速的。但是,即使我将所有数据转储到像MySQL这样的关系数据库中,我缺少的是所有漂亮的查询API。

我想我的问题是:

  1. 是否有可能只使用Solr的十岁上下的查询API,完全使用关系数据库作为后台的,而不是使用索引的。

  2. 如果这是不可能的,是否有任何成熟的项目/产品可以在关系数据库上构建完整的堆栈查询API?

回答

0

文档搜索引擎和关系数据库提供不同的使用模式。如果您将Solr用于涉及标记化和分析链的任何事情,那么在RDBMS中复制它需要您自己实现该功能(或者仅使用子集,例如某些RDBMS中的全文索引)。我详细介绍了Should I just query the database or use a proper search engine solution?中的一些差异和功能。

通常最好使用RDBMS作为数据的主要存储空间,然后根据需要将它推入搜索索引。这也可以让你从关注搜索和试图解决问题的人那里获得新的功能,而无需等待利基产品在RDBMS之上实现它(每次迭代中仍然有不少新功能Lucene,Elastic和Solr)。