Saya telah melakukannya dengan cara ini:
Saya menggunakan kerangka kerja sails.js untuk simpul dan menggunakan mongo sebagai DB.
Pertama-tama, saya telah menginstal modul elasticsearch menggunakan npm. Kemudian menambahkan kode ini dalam file bernama elasticSeach.js di bagian konfigurasi.
Ini memiliki kode berikut:
var elasticsearch = require('elasticsearch'),
index = "Ur_elastic_index_name_goes_here",
client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
module.exports.elasticSearchClient = client;
module.exports.elasticSearchConfig = {
index: index
};
Setelah itu, cukup buat file ElasticSearchService.js di mana Anda akan melakukan semua operasi seperti pencarian, pembaruan, dll. Berikut adalah contoh metode indeks elasticsearch untuk mengindeks nilai, yang membutuhkan :
a) ketik
b) barang , yang merupakan objek bertipe json seperti
item = {
"name" : "vishal",
"website" : "stackOverflow"
};
dan metodenya adalah
function indexItem(type, item) {
return Q.promise(function(resolve, reject){
elasticSearchClient
.index({
index: elasticSearchConfig.index,
type: type,
body: item
})
.then(function (response) {
sails.log.info("ElasticSearchService#indexItem :: Response :: ", response);
return resolve(response);
})
.catch(function(err) {
sails.log.error("ElasticSearchService#indexItem :: Error :: ", err);
return reject(err);
});
});
}
Panggil metode ini dari mana pun Anda mau.
Saya menggunakan janji untuk mengembalikan nilai. Anda tidak perlu khawatir tentang implementasi pecahan dan semuanya. Elastis menangani itu.
Lebih lanjut tentang jenis dan pemetaan di sini :https://www. elastic.co/guide/en/elasticsearch/guide/current/mapping.html