Elesticsearch和Emberjs

时间:2016-05-06 16:21:57

标签: ember.js elasticsearch

我正在尝试将EmberJS与ElasticSearch联系起来。到目前为止,我已经阅读了大部分Ember文档,并为ElasticSearch找到了this adapter

问题是我无法弄清楚如何使用它(即配置它以便在我呼叫store.save()时,我的模型被发送到ES。

我所拥有的ATM是一个新创建的项目,包括Ember生成器(ember new),以及生成的控制器,路由器,模型等。我的问题是Ember文档解释了如何customise adapters,而不是如何使用它们(或者我错过了那部分)。 ES适配器的文档说:

var App = Em.Application.create();

App.store = DS.Store.create({
  revision: 4,
  adapter: DS.ElasticSearchAdapter.create({url: 'http://localhost:9200'})
});

这意味着创建一个商店,而我只能看到在Ember文档中扩展它的方法。此外,我的应用程序中已经有了一个商店。

所以问题是:

  • 我是否需要覆盖商店创建以将其替换为ES(以及在何处)或
  • 我是否需要扩展现有的,在这种情况下,我应该怎么做?

另外,当它说:

  

首先,加载ember-data / lib / adapters / elasticsearch_adapter.js文件   在你的申请中。

应该在哪里以及如何做?

1 个答案:

答案 0 :(得分:0)

关于你的第一个问题

  

我是否需要覆盖商店创建以将其替换为ES   (以及在哪里这样做)或者我是否需要扩展现有的,以及   这种情况,我应该怎么做?

你在第二部分的正确轨道上,你需要扩展现有的,但不是商店,在这种情况下是适配器。

所以如果你正在使用ember-cli,根据这个:

  

我所拥有的ATM是一个新创建的项目,其中包含Ember生成器(ember   新)

看起来你是,所以你的应用程序文件夹结构应该是这样的:

app ->
    adapters(you need to generate/create this)
    components
    controllers
    models
    routes
    serializers
    services
    styles
    templates

现在我们可以回答:

  

我应该怎么做?

如果您还没有适配器文件夹,那么您可能只需运行ember generate adapter application或创建文件夹适配器,以及该文件夹的文件application.js。

然后最终引导我们讨论你最后一个问题的一部分。

  

将ember-data / lib / adapters / elasticsearch_adapter.js文件加载到您的   应用。应该在哪里以及如何做?

import ElasticSearchAdapter from 'ember-data/lib/adapters/elasticsearch_adapter'

export default ElasticSearchAdapter.extend({
})

现在可能有坏消息,该适配器很可能已经过时,因为它的最后一次提交是2012年12月27日。