MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Integracja mongodb z elasticsearch w środowisku node.js

Zrobiłem to w ten sposób:

Używam frameworka sails.js dla węzła i używam mongo jako DB.

Przede wszystkim zainstalowałem moduł elasticsearch za pomocą npm. Następnie dodałem ten kod w pliku o nazwie elasticSeach.js w sekcji konfiguracji.

Ma następujący kod:

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
};

Następnie po prostu utwórz plik ElasticSearchService.js w którym wykonasz wszystkie operacje, takie jak wyszukiwanie, aktualizacja itp. Oto przykład metody indeksu elasticsearch do indeksowania wartości, która przyjmuje:

a) wpisać

b) przedmiot , który jest obiektem typu json, takim jak

item = {
 "name" : "vishal",
 "website" : "stackOverflow"
};

a metoda to

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);
      });
  });
}

Wywołaj tę metodę z dowolnego miejsca.

Używam obietnicy zwrócenia wartości. Nie musisz się martwić implementacją fragmentów i wszystkim. Dba o to Elastic.

Więcej informacji o typie i mapowaniach znajdziesz tutaj :https://www. elastic.co/guide/en/elasticsearch/guide/current/mapping.html




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Użyj Mongosniff, aby wyjaśnić, co słyszy i mówi Twoja baza danych

  2. zapytanie mongodb, aby dopasować każdy element w tablicy dokumentów do warunku

  3. MongoDB nie działa z PHP na WAMP

  4. zapytanie mongo :znajdź liczbę tablic we wszystkich dokumentach kolekcji

  5. Problem z agregacją i grupowaniem MongoDB w MeteorJS