Я настраиваю свое первое приложение ElasticSearch, используя ReactiveSearch, для подключения к индексу ElasticSearch, который я создал в AWS.Я новичок в Node.js и большинство технологий, задействованных здесь.Я думаю, что у меня есть базовое приложение ReactiveSearch, которое работает, но оно не подключается к моему индексу AWS ElasticSearch.Когда я вхожу в поиск, я не получаю никаких выводов и ошибок.
Я следовал руководству по быстрому старту ReactiveSearch: https://opensource.appbase.io/reactive-manual/getting-started/reactivesearch.html
Я создал приложение Boilerplate с CRA: https://github.com/facebook/create-react-app#creating-an-app
Приложение работает нормально, но при попытке поиска ничего не выводится.Потом я увидел, что вы должны использовать прокси с AWS.Я клонировал https://github.com/appbaseio-apps/reactivesearch-proxy-server и все заработало, и теперь у меня есть прокси-сервер, работающий на http://localhost:7777/
Мое приложение поиска подключается к прокси-серверу следующим образом:
<ReactiveBase
app="my-search"
url="http://localhost:7777">
Thisэто код, который устанавливает цель в прокси.Я закомментировал авторизацию, потому что я не использую appbase.io.
const options = {
target: 'https://search....ap-southeast-2.es.amazonaws.com',
changeOrigin: true,
onProxyReq: (proxyReq, req) => {
/* proxyReq.setHeader(
'Authorization',
`Basic ${btoa('cf7QByt5e:d2d60548-82a9-43cc-8b40-93cbbe75c34c')}`
);*/
/* transform the req body back from text */
const { body } = req;
if (body) {
if (typeof body === 'object') {
proxyReq.write(JSON.stringify(body));
} else {
proxyReq.write(body);
}
}
}
}
Я вижу приложение ReactiveSearch в моем браузере по адресу http://localhost:3000
Когда я набираю ключевые слова в поискеВ прокси-приложении я вижу вывод, подобный этому:
Verifying requests ✔ {"preference":"results"}
{"query":{"bool":{"must":[{"bool":{"must":[{"bool":{"should":[{"multi_match":{"query":"cables","fields":["Description"],"type":"best_fields","operator":"or","fuzziness":0}},{"multi_match":{"query":"cables","fields":["Description"],"type":"phrase_prefix","operator":"or"}}],"minimum_should_match":"1"}}]}}]}},"size":50,"_source":{"includes":["*"],"excludes":[]},"from":0}
Verifying requests ✔ {"preference":"SearchBox"}
{"query":{"bool":{"must":[{"bool":{"must":{"bool":{"should":[{"multi_match":{"query":"horse","fields":["Description"],"type":"best_fields","operator":"or","fuzziness":0}},{"multi_match":{"query":"horse","fields":["Description"],"type":"phrase_prefix","operator":"or"}}],"minimum_should_match":"1"}}}}]}},"size":20}
Чего мне не хватает, чтобы установить соединение?Нужно ли добавлять какую-либо аутентификацию в AWS и добавлять пароли к прокси-коду?
Есть ли способ просмотреть некоторую отладочную информацию?
Спасибо, Фил