在 Ember-CLI 应用程序中包含 Elasticsearch
Including Elasticsearch in Ember-CLI application
我是 Ember 和 Node 的新手,我想将 Elasticsearch 与 Ember 结合使用。
我正在使用 npm elasticsearch 包。
据我所知,我应该将 ES 作为服务注入,但我不确定在哪里包含 ES 初始化代码并使用 Ember 应用程序注册客户端。
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});`
我现在只有ember g service elasticsearch
感谢菜鸟的帮助!
您似乎想在 ember 应用程序中直接使用弹性搜索客户端(如果我错了请纠正我)。不幸的是,您不能直接在 ember 中使用节点模块,因此您需要以不同的方式构建您的应用程序。
您有几个选择:
1) 在您的 ember 应用程序中使用像 Ember Data Adapter for elasticsearch or ember-data-elasticsearch-kit 这样的库(它将在浏览器中 运行 )查询弹性搜索. (我选择这些是因为它们是 Google 中的第一个结果 - 它们似乎有点过时,但也许您可以找到更新较新的内容。)
2) 创建一个带有节点的 API 端点(也许类似于 Express)并使用 elasticsearch
模块和弹性搜索客户端查询服务器上的弹性搜索和 return JSON,您可以在 ember 应用程序中使用它。所以,例如:
$.ajax({
url: 'UrlOfMethodExposedByNode',
type: 'GET',
accepts: 'application/json',
success: function(data) {
// you can use the data here to set a value on a controller, etc
},
error: function() {
// something went wrong while retrieving data from your API
}
});
更多详细信息将取决于您的应用程序的具体情况。
我是 Ember 和 Node 的新手,我想将 Elasticsearch 与 Ember 结合使用。
我正在使用 npm elasticsearch 包。
据我所知,我应该将 ES 作为服务注入,但我不确定在哪里包含 ES 初始化代码并使用 Ember 应用程序注册客户端。
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});`
我现在只有ember g service elasticsearch
感谢菜鸟的帮助!
您似乎想在 ember 应用程序中直接使用弹性搜索客户端(如果我错了请纠正我)。不幸的是,您不能直接在 ember 中使用节点模块,因此您需要以不同的方式构建您的应用程序。
您有几个选择:
1) 在您的 ember 应用程序中使用像 Ember Data Adapter for elasticsearch or ember-data-elasticsearch-kit 这样的库(它将在浏览器中 运行 )查询弹性搜索. (我选择这些是因为它们是 Google 中的第一个结果 - 它们似乎有点过时,但也许您可以找到更新较新的内容。)
2) 创建一个带有节点的 API 端点(也许类似于 Express)并使用 elasticsearch
模块和弹性搜索客户端查询服务器上的弹性搜索和 return JSON,您可以在 ember 应用程序中使用它。所以,例如:
$.ajax({
url: 'UrlOfMethodExposedByNode',
type: 'GET',
accepts: 'application/json',
success: function(data) {
// you can use the data here to set a value on a controller, etc
},
error: function() {
// something went wrong while retrieving data from your API
}
});
更多详细信息将取决于您的应用程序的具体情况。