希望构建一个使用SOLR作为唯一后端的web应用程序。大部分数据将通过脱机作业存储在SOLR中,尽管需要CRUD。
纵观当今流行的web框架,如Rails、Django、web2py等,尽管NoSQL,生产力的最佳之处似乎仍然围绕着活跃的记录实现坐在RDBMS之上。
在生产力方面,以SOLR为后端构建web应用程序的最佳框架是什么?
发布于 2010-09-02 20:25:04
web2py数据库抽象层此时不支持SOLR,这意味着您不能使用DAL语法访问SOLR,也不能使用从SOLR架构自动生成的表单。但是,您可以使用SQLFORM.factory生成表单,如果您有一个正常的关系数据库,并手动执行插入/更新/选择/更新到SOLR。web2py包含用于解析/编写JSON和XMl的库,因此可以很容易地在几行代码中实现SOLR。如果您在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和接受后的额外行。就是这样。
发布于 2010-09-03 14:19:07
上述三个答案对发展框架都是很好的建议。我会绕过你的问题,问“哪个是我最好的web应用程序框架”,而不是“哪一个是最适合Solr的”,然后根据你的技能、你身边的社区以及其他软因素做出决定。尤其是当你完全不知道该走哪条路的时候。
如果你有爱Grails的朋友,并且可以帮助你开始工作,那么Grails可能是你的选择。有一个定期开会的Python小组吗?然后Django有很多东西可以提供。我个人喜欢Rails,所以我推荐rails。但这只是“我喜欢什么”和“什么是最好的”的建议。
Solr的奇妙之处在于它对前端是多么不可知论。它在这么多的环境中表现得很好!
发布于 2010-09-02 21:59:31
我会使用太阳黑子1.2和Rails 3。
太阳黑子通常被用作ActiveRecord扩展,但也被设计为与ORM无关的。Rails 3已经将ActiveRecord从框架中分离出来,这样就很容易完全不使用ORM了。
http://outoftime.github.com/sunspot/
https://stackoverflow.com/questions/3630641
复制相似问题