Skip to content

Instantly share code, notes, and snippets.

@srfrnk
Created August 16, 2014 12:22
Show Gist options
  • Save srfrnk/e9bf2111085efd92c4c8 to your computer and use it in GitHub Desktop.
Save srfrnk/e9bf2111085efd92c4c8 to your computer and use it in GitHub Desktop.
require("requirejs").define("models/elasticsearchHelper", [], function () {
var Q = require("q");
var ElasticSearchClient = require("elasticsearchclient");
var serverOptions = JSON.parse(process.env.ES_SERVER_OPTIONS || "null") || {
host: "dwalin-us-east-1.searchly.com",
port: 443,
secure: true,
auth: {
username: "site",
password: "1ec5382777b0e43ac19f6d435062a6a9"
}
};
var elasticSearchClient = new ElasticSearchClient(serverOptions);
return {
client: elasticSearchClient,
search: function (index, type, query,from,size) {
var defer = Q.defer();
elasticSearchClient.search(index, type, {
"query": {
"query_string": {
"query": query
}
}
},{from:from,size:size}).on('data', function (data) {
defer.resolve(JSON.parse(data));
}).on('error', function (error) {
console.log(error);
defer.reject(error);
}).exec();
return defer.promise;
},
update: function (index, type, document, id) {
var defer = Q.defer();
elasticSearchClient.deleteDocument(index, type, id).on('data', function (data) {
elasticSearchClient.index(index, type, document, id)
.on('data', function (data) {
defer.resolve(JSON.parse(data));
}).on('error', function (error) {
console.log(error);
defer.reject(error);
}).exec();
}).on('error', function (error) {
console.log(error);
defer.reject(error);
}).exec();
return defer.promise;
}
}
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment