我正在尝试将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文档中扩展它的方法。此外,我的应用程序中已经有了一个商店。
所以问题是:
另外,当它说:
首先,加载ember-data / lib / adapters / elasticsearch_adapter.js文件 在你的申请中。
应该在哪里以及如何做?
答案 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日。