Запрос Axios к Opensearch/Elasticsearch

В настоящее время я могу и для моей коллекции, но мне нужна возможность для более сложных запросов, я использую bodybuilder для структурирования запроса и аксиом в качестве моего клиента.

Однако использование не возвращает мои указанные результаты, а только первые 10 элементов в моем индексе и использование GETЯ не могу отправить тело для этих сложных запросов, оставляя меня с .

Я переключил настройку своих данных с data:dataк body:dataс тем же результатом.

На данный момент это мой POSTкоторый снова возвращает данные, но НЕ мои отфильтрованные данные, а только первые 10 элементов моей коллекции.

Любое понимание будет оценено!

      export function searchQuery(search: string) {
  var body = bodybuilder().query("query_string", "query", search).build();

  const data = JSON.stringify(body);
    
  axios({
    url: `${SEARCH_URL}`,
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: data,
  }).then((res) => {
    console.log(res);
  });
}

Это мой текущий журнал данных:

      {"query":{"query_string":{"query":"Green"}}}

1 ответ

Основываясь на комментариях к вопросу выше, вы получаете только первые 10 элементов в своей коллекции, когда запускаете запрос напрямую к elasticsearch.

Это связано с тем, что elasticsearch по умолчанию возвращает только 10 документов в результатах поиска, если нетsizeparam включается в поисковый запрос.

Если вы хотите получить более 10 результатов, вам нужно изменить свой поисковый запрос как

      {
  "size": 20,             // change this according to your requirement
  "query": {
    "query_string": {
      "query": "Green"
    }
  }
}
Другие вопросы по тегам