Tôi đã làm theo cách này:
Tôi đang sử dụng khung sails.js cho nút và sử dụng mongo làm DB.
Trước hết, tôi đã cài đặt mô-đunasticsearch bằng npm. Sau đó, thêm mã này vào tệp có tên asticSeach.js trong phần cấu hình.
Nó có mã sau:
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
};
Sau đó, chỉ cần tạo tệp ElasticSearchService.js trong đó bạn sẽ thực hiện tất cả các thao tác như tìm kiếm, cập nhật, v.v. Đây là một ví dụ về phương pháp chỉ mục tìm kiếm đàn hồi để lập chỉ mục các giá trị, phương pháp này sẽ:
a) loại
b) mục , là một đối tượng kiểu json như
item = {
"name" : "vishal",
"website" : "stackOverflow"
};
và phương pháp là
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);
});
});
}
Gọi phương thức này từ bất cứ nơi nào bạn muốn.
Tôi đang sử dụng một lời hứa để trả về các giá trị. Bạn không cần phải lo lắng về việc triển khai phân đoạn và tất cả. Elastic đảm nhận điều đó.
Tìm hiểu thêm về loại và ánh xạ tại đây: https:// www. astic.co/guide/en/elasticsearch/guide/current/mapping.html