首页 > 解决方案 > 尝试使用 React-SearchKit 连接到 ElasticSearch 7 时出现错误 405(方法不允许)

问题描述

我正在尝试使用React- SearchKit 连接到 ElasticSearch 7 。

我正在关注 React-SearchKit 的官方连接您的 REST API 指南。根据指南,可以通过将以下对象作为参数传递给ReactSearchKit组件来配置 ElasticSearch 适配器:

const searchApi = new ESSearchApi({
  url: 'http://localhost:9200/search/',
  timeout: 5000
});

我将对象传递给组件,如下所示:

class App extends Component {
  render() {
    return (
        <ReactSearchKit searchApi={searchApi}>
          <div style={{ margin: '2em auto', width: '50%' }}>
            <SearchBar />
            <ResultsList />
          </div>
        </ReactSearchKit>
    );
  }
}

问题是在尝试执行应用程序时出现 405 错误(不允许使用方法)。我认为向 ElasticSearch 发送 POST 请求应该没有问题。可能出了什么问题?

标签: reactjselasticsearch

解决方案


假设http://localhost:9200是您的 ES 节点,Elasticsearch 中正确的搜索端点是:

  1. http://localhost:9200/_search如果要搜索所有索引
  2. http://localhost:9200/foo/_search如果你想搜索 foo 索引
  3. http://localhost:9200/foo,bar/_search如果你想同时搜索索引 foo 和 bar
  4. http://localhost:9200/data*/_search如果要搜索以数据开头的所有索引

您缺少 _(下划线)。

以下是相关文档:https ://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html


推荐阅读