Я работаю над угловым 6 проектом и обновил версию эластичного поиска с 6 до 7 на сервере, после изменения кода старого API для использования нового, эти ошибки произошли, есть у кого-нибудь идеи, как исправить?
Угловое приложение сделано на визуальном студийном коде, аasticsearch на сервере Linux.
import { Injectable } from '@angular/core';
// import { Clientex } from 'elasticsearch-browser';
import { Client } from '@elastic/elasticsearch';
// import * as elasticsearch from 'elasticsearch-browser';
// import { concatMapTo } from 'rxjs/operators';
// import { stringify } from '@angular/core/src/render3/util';
@Injectable({
providedIn: 'root'
})
export class ElasticsearchService {
private client: Client;
// private clientex: Clientex;
constructor() {
if (!this.client) {
this.connect();
}
}
private connect() {
/*this.client = new Client(
{node: 'http://localhost:9200'}
);*/
this.client = new Client();
}
isAvailable(): Promise<any> {
return this.client.ping({
});
}
// tslint:disable-next-line:member-ordering
private queryalldocs = {
'query': {
'match_all': {}
}
};
getAllDocuments(_index, _type): any {
this.client.search({
index: _index,
body: this.queryalldocs
}, {
ignore: [404]
}, (err, { body, statusCode, headers, warnings }) => {
if (err) { console.log(err); }
});
}
getAllDocumentsByKey(_index, _type, campo, valor) {
const string = 'let match = {' + campo + ':' + valor + '}';
return this.client.search({
index: _index,
type: _type,
body: {
// tslint:disable-next-line:no-shadowed-variable
eval(string) {}
}
});
}
createDocument(value: any) {
// return this.client.index(value);
this.client.create(value);
}
}
ОШИБКИ :
ОШИБКА в ./node_modules/@elastic/elasticsearch/lib/Connection.js Модуль не найден: Ошибка: Не удается разрешить 'http' в 'C: \ Users \ ICARO \ Desktop \ projetos \ pastas \ xtr-social \ node_modules @ эластичная \ elasticsearch \ Lib »
ОШИБКА в ./node_modules/@elastic/elasticsearch/lib/Connection.js Модуль не найден: Ошибка: не удается разрешить https в C: \ Users \ ICARO \ Desktop \ projetos \ pastas \ xtr-social \ node_modules @ эластичная \ elasticsearch \ Lib »
ОШИБКА в ./node_modules/@elastic/elasticsearch/lib/Transport.js Модуль не найден: Ошибка: Не удалось разрешить 'os' в 'C: \ Users \ ICARO \ Desktop \ projetos \ pastas \ xtr-social \ node_modules @ эластичная \ elasticsearch \ Lib »
ОШИБКА в ./node_modules/decompress-response/index.js Модуль не найден: Ошибка: не удается разрешить «поток» в «C: \ Users \ ICARO \ Desktop \ projetos \ pastas \ xtr-social \ node_modules \ depresspress-response» '
ОШИБКА в ./node_modules/@elastic/elasticsearch/lib/Transport.js Модуль не найден: Ошибка: Не удается разрешить zlib в C: \ Users \ ICARO \ Desktop \ projetos \ pastas \ xtr-social \ node_modules @ эластичная \ elasticsearch \ Lib »
ОШИБКА в ./node_modules/decompress-response/index.js Модуль не найден: Ошибка: не удается разрешить zlib в C: \ Users \ ICARO \ Desktop \ projetos \ pastas \ xtr-social \ node_modules \ depresspress-response '
2 ответа
В соответствии с документацией по упругому поиску > https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/5.x/breaking-changes.html ), все клиенты браузера обрабатываются с помощью пакета эластичного поиска-браузера npm :
Больше не нужно поддерживать браузер, так как он будет распространяться через другой модуль, @astic /asticsearch-browser. Этот модуль предназначен только для Node.js.
Я считаю, что вам нужно установить эластичный браузер, а затем:
import { Client } from 'elasticsearch-browser';
Похожие вопросы
Новые вопросы
angular
Вопросы по Angular (не путать с AngularJS), веб-фреймворку от Google. Используйте этот тег для угловых вопросов, которые не относятся к конкретной версии. Для более старой веб-платформы AngularJS (1.x) используйте тег angularjs.