我正在使用django,haystack和Elasticsearch堆栈构建搜索应用程序。但我想添加angularjs。我的问题是:
哪种替代方法对angularjs更好地接收数据并在搜索应用中进行处理:
1.使用elasticsearch.js Angular 库直接在elasticsearch中查询数据
2.或者从干草堆中获取数据并开始使用它。因此,它是唯一可以与elasticsearch通信的草垛。
谢谢!
最佳答案
这可能取决于您要保重的程度。重型卡车起初可能会受到一点伤害,但可能会带来红利。如果您的目标较小或更短(玩具项目或原型(prototype)),则减少运动部件可能会更好。
如果您全力以赴:
ES 干草堆 django 角形
那么您将获得以下胜利:
如果您决定不喜欢ES并想使用solr ,则
因此,对于这种方法有很多话要说,但是可能还有很多需要建立的方法。如果只需要一个由ES中的数据驱动的前端,那么您可以拥有一个直接查询ES的厚前端。一些胜利在这里:
我已经在Solr / haystack / django / backbone的一个堆栈上工作,关注点和隐藏/抽象的分离非常好。我不必从头开始设置整个堆栈,这是一个现有项目,我在其中添加/重新写入了一些较大的块。
我还使用过ES /节点/角堆栈,在那里我从头开始设置了绝大多数堆栈。安装速度足够快。简单的东西很容易。当它变得更大时,我觉得很难在代码上施加足够的纪律以保持其真正干净。因此,这是一种危险的情况,一旦查询全部正常,您就会慢慢退出,并希望没有新的功能请求进入(老实说,它们总是这样做)。但是,如果这只是一个小项目,或者您只是想尝试一些新东西,或者希望它快速而不是强大,那么这可能是开始的方式,那么您可以在开始时添加其他部分撞墙。