MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tích hợp mongodb vớiasticsearch trong môi trường node.js

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. thả toàn bộ cơ sở dữ liệu trong một lệnh duy nhất để khôi phục kết xuất mongodb

  2. MongoDB:Các hoạt động hàng loạt có được ghi vào oplog nói chung không?

  3. Trả lại giá trị thực cuối cùng cho mỗi nhóm

  4. node.js &express - mô-đun toàn cầu và các phương pháp hay nhất cho cấu trúc ứng dụng

  5. Tìm kiếm nhiều trường cho nhiều giá trị trong MongoDB