reactjs - 尝试使用 React-SearchKit 连接到 ElasticSearch 7 时出现错误 405(方法不允许)

标签 reactjs elasticsearch

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

我正在关注React-SearchKit官方Connect Your REST APIs guide 。根据该指南,可以通过将以下对象作为参数传递给 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 请求应该不会有问题。可能出了什么问题?

最佳答案

假设 http://localhost:9200 是您的 ES-Node,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 如果您想搜索以 data 开头的所有索引

您缺少 _(下划线)。

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

关于reactjs - 尝试使用 React-SearchKit 连接到 ElasticSearch 7 时出现错误 405(方法不允许),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60028334/

相关文章:

javascript - React Hooks - 更改父样式以反射(reflect)子 onClick

javascript - ReactJS 在客户端和服务器上运行不同的代码。

reactjs - 如何在 react-router-dom v4.2.2 中获取当前路由

node.js - 如何在基于 axios 的网络调用中传递消费者 key 和消费者 secret 参数?

ruby-on-rails - 如何设置轮胎 Elasticsearch 的默认分析器?

elasticsearch - 如何使用logstash从弹性中获取匹配条件的嵌套对象

elasticsearch - 使用Elasticsearch Java API在文本上调用search_analyzer

mongodb - .mongo' 不是内部或外部命令,也不是可运行的程序或批处理文件

java - Elasticsearch 与 Hibernate 搜索集成

elasticsearch - 弹性查询以获取缺少相应对的事件