Я использую Java-клиент Angular-InstantSearch и Algolia. Мне не удалось найти документ по Angular-InstantSearch о том, как сделать Multi Queries другим индексом.Мне удается сделать это хорошо на моем бэк-энде в Java, с другим заданным параметром поиска.
То, что я сейчас нашел, - это какой-то документ на сайте instantserach.js.Для создания нескольких запросов: - Несколько экземпляров InstantSearch, синхронизированных с индексом Main (проблема в Instantsearch.js. Я не могу переопределить SearchClient для получения root-прав на свой бэкэнд вместо серверов algolia) - В angular-Instantsearch я могу переопределить searchClient,но не знаю, как добавить несколько экземпляров InstantSearch.
Что я хотел бы сделать:
-Либо сделать пользовательский AIS-InstantSearch, который обрабатывает несколько запросов (несколько индексов) -Или службы промежуточного программного обеспечения, которые берут мойсписок индексов + запрос, затем запросить мой сервер и, наконец, отправить результат в мой пользовательский компонент Hits.-Или еще что-то, если у вас есть другая идея.
Это мой фактический конфиг ais-instantsearch, использующий мой бэкэнд-сервер (который работает нормально) и consitencyService, чтобы управлять, когда показывать или не отображать результаты в моем обращении.составная часть.Проблема в том, что даже если я отправляю несколько результатов, мой результат занимает только 1 набор результатов.
this.searchConfig = {
indexName: 'locations',
searchFunction: (helper) => {
if (helper.state.query === '') {
return;
}
helper.search();
},
searchClient : {
search : (requests : SearchRequest[]): Promise<{results: SearchResponse[]}> => {
if (this.indices instanceof Array) {
this.indices = this.indices.join(',');
}
let query;
if ( this.consistencyService !== undefined && this.consistencyService !== null) {
query = this.consistencyService.query;
}
return this.http.post<SearchResponse[]>(
`${SERVER_API_URL}api/algolia/search/${this.indices}`
, JSON.stringify(query === undefined ? {requests} : {query: query})
, {headers: {'Content-type': 'application/json'}}).map(response => {return {results: response}}).toPromise();
}}
};
Спасибо за ваше время, надеюсь, кто-то может помочь.