2013-12-10 8 views
0

Я использую модуль solr-client для nodejs для запроса моих коллекций solr.Обновление коллекции solr с использованием solr-клиента

Теперь я пытаюсь добавить к и обновлять коллекции в моем бэкэнде коде с помощью Solr-клиента.

Я попытался http://lbdremy.github.io/solr-node-client/code/add.js.html успешно добавить данные в коллекцию. Но я не знаю, как обновлять записи.

Я попытался с помощью этого метода (все методы можно найти здесь: http://lbdremy.github.io/solr-node-client/code/solr.js.html);

/** 
    * Send an update command to the Solr server with the given `data` stringified in the body. 
    * 
    * @param {Object} data - data sent to the Solr server 
    * @param {Function} callback(err,obj) - a function executed when the Solr server responds or an error occurs 
    * @param {Error} callback().err 
    * @param {Object} callback().obj - JSON response sent by the Solr server deserialized 
    * 
    * @return {Client} 
    * @api private 
    */ 

    Client.prototype.update = function (data, callback) { 
     var self = this; 
     this.options.json = JSON.stringify(data); 
     this.options.fullPath = [this.options.path, this.options.core, 'update/json?commit=' + this.autoCommit + '&wt=json'] 
      .filter(function (element) { 
       if (element) { 
        return true; 
       } 
       return false; 
      }) 
      .join('/'); 
     updateRequest(this.options, callback); 


return self; 
} 

Но как этот метод знает, какие записи необходимо обновить? Выполняет ли поиск pk в параметре данных и когда он соответствует вашему pk в коллекции, он обновляется? И нужна ли ему дополнительная фиксация?

+0

Я тоже застрял в этом вопросе. Решение находится здесь с помощью метода add. –

ответ

1

Но как этот метод знает, какие записи необходимо обновить? СМОТРИТЕ НИЖЕ

ли он ищет рк-е в параметре данных и, когда он совпадает с рк в коллекции, это получить обновляется? - ДА

И нужна ли дополнительная фиксация? - ДА

Технически, и можно использовать вставку, а также UPDATE. Они одинаковы в SOLR

+0

http://plnkr.co/edit/yDRlTZXqFxYGULUSf6PP?p=catalogue Не могли бы вы проверить, почему добавить работы, но обновление не будет? – Vincent

+0

Можно ли показать файл схемы? –

+0

http://plnkr.co/edit/RGCCp1rcUxotodAOCSso?p=catalogue – Vincent

Смежные вопросы