reactjs - 尝试使用 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 请求应该没有问题。可能出了什么问题?
解决方案
假设http://localhost:9200
是您的 ES 节点,Elasticsearch 中正确的搜索端点是:
http://localhost:9200/_search
如果要搜索所有索引http://localhost:9200/foo/_search
如果你想搜索 foo 索引http://localhost:9200/foo,bar/_search
如果你想同时搜索索引 foo 和 barhttp://localhost:9200/data*/_search
如果要搜索以数据开头的所有索引
您缺少 _(下划线)。
以下是相关文档:https ://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html
推荐阅读
- c++ - 如何分配给一个 int 变量,比如 class.array[i]?
- tensorflow - 使用 Tensorflow 应用 n-gram 和 TF-IDF
- python - 如何将字符串列表映射到整数列表
- c - c中的奇怪错误(变量声明之前的结构)
- android - STEP_COUNTER 和 STEP_DETECTOR 适用于 SDK 28,但不适用于 SDK 29?
- javascript - React Router 不访问受保护的路由
- php - VIBER PHP file_put_contents 保存所有输入
- python - setup.py 中的 package_dir 未按预期工作
- batch-file - 将变量从一个批处理文件发送到另一个批处理文件时如何避免累积
- javascript - javascript 为什么我不能使用 javascript 函数将子元素附加到 html div