使用SOLR作为后端的最有效的前端框架是什么?

时间:2010-09-02 19:46:20

标签: ruby-on-rails django frameworks solr web2py

想要使用SOLR构建一个Web应用程序作为 only 后端。大多数数据将通过离线作业存储在SOLR中,尽管需要CRUD。

今天看看流行的Web框架,如Rails,Django,web2py等,尽管NoSQL,生产力的最佳位置似乎仍然是围绕RDBMS的活跃记录实现。

在生产力方面,以SOLR作为后端构建Web应用程序的最佳框架是什么?

4 个答案:

答案 0 :(得分:2)

此时web2py数据库抽象层不支持SOLR,这意味着您无法使用DAL语法访问SOLR,也无法使用SOLR数据库架构中自动生成的表单。然而,如果您有一个普通的关系数据库并且手动执行插入/更新/选择/更新到SOLR,您可以使用SQLFORM.factory生成表单。 web2py包括用于解析/编写JSON和XMl的库,因此很容易在几行代码中实现SOLR API。如果您在web2py邮件列表中提到这一点,我们可以提供一些示例。

编辑(从web2py邮件列表中的答案复制):

通常在web2py中定义模型

db.define_table('message',Field('body'))

然后web2py为您生成并处理表单:

form=SQLFORM(db.message)
if form.accepts(request.vars):
      do_something

在你的情况下,你不会使用define_table,因为web2py DAL会这样做 不支持SOLR,你不能从架构生成表单 可以安装:http://code.google.com/p/solrpy/ 你可以做到

#in model
import solr
s = solr.SolrConnection('http://example.org:8083/solr')

#in controller
form=SQLFORM.factory(Field('body'))
if form.accepts(request.vars):
      s.add(mody=request.vars.body)
      s.commit()
      do_something

所以不同的是SQLFORM.factory而不是SQLFORM和额外的 接受之后的行。这就对了。

答案 1 :(得分:2)

上述三个答案都是对开发框架的重要建议。我会翻阅你的问题并问“哪个是我最好的网络应用程序框架”,而不是“哪个最适合Solr”并根据你的技能,你周围的社区以及其他软因素做出决定。特别是如果你完全不知道要走哪条路。

如果您有喜欢Grails的朋友并且可以帮助您入门,那么Grails可能就是您的选择。有一个定期会面的Python小组吗?然后Django有很多东西可以提供。我个人喜欢Rails,所以我推荐使用rails。但这只是“我喜欢什么”与“什么是最好”的推荐。

Solr的精彩之处在于它对前端的不可知性。它在很多环境中都很好用!

答案 2 :(得分:1)

我会使用Sunspot 1.2和Rails 3。

太阳黑子通常用作ActiveRecord扩展,但也设计为与ORM无关。 Rails 3将ActiveRecord与框架分离,使得完全无ORM变得容易。

http://outoftime.github.com/sunspot/

答案 3 :(得分:0)

顺便说一句,SphinxSearch比solr / lucence和许多独特的功能快得多。与我的经验和独立基准相比,搜索准确性也要好得多。

它有原生的,非常简单的python api,它与web2py很好地集成。

但它需要一个RDBMS。我正在使用它,web2py + sphinxsearch,构建办公室文件搜索引擎。

你也可以尝试一下。

www.sphinxsearch.com