elasticsearch - ElasticSearch:为什么我不能在特定类型中搜索?
问题描述
我正在关注以下关于弹性搜索的教程: https ://www.elastic.co/blog/a-practical-introduction-to-elasticsearch
我将shakespeare.json 文件导入到我的弹性搜索中。当我尝试运行以下查询时:
POST localhost:9200/shakespeare/scene/_search/
{
"query":{
"match" : {
"play_name" : "Antony"
}
}
}
我没有结果。
但是,一旦我在没有“/scene”的情况下运行相同的查询,我得到了很多结果。看起来 ElasticSearch 未能将搜索集中在特定类型的数据(在本例中为“场景”)。
你知道我能做些什么吗?
解决方案
TL;DR:本教程已过时,莎士比亚部分不再适用于最新版本的 Elasticsearch(至少不完整)。
shakesphere
是你要搜索的索引,url的一部分/scene
是你要搜索的文档类型。在过去的版本中,可以选择在单个索引中存储多种文档类型,但在最近的版本中已将其删除。
在导入 json 时,只导入/处理了一种类型的文档。这就是为什么你会发现某事。当您删除类型时:elasticsearch 不再局限于scene
类型并产生结果。在响应中,将有每个文档的类型(始终相同),如果您更深入地查看索引中的数据,您将通知不存在其他文档类型。
也许日志示例或将更适合您。哦,如果您安装了 kibana,系统会询问您是否要加载一些示例数据集,例如航班、电子商务等。同样的数据也可在https://demo.elastic.co获得
推荐阅读
- flutter - 如何在 Dart 中获取某物的类型?
- java - 文件中的允许值
- java - 使用 String.parseByte(string s) 处理 0x7F 以上的值 - Java
- ffmpeg - ffmpeg:UDP 到 RTMP 流 - PES 问题/超出范围/损坏的宏块
- python - 如何在每个单元测试中重置夹具的某些属性?
- python - 使用小数分隔符(逗号)从 oracle 导出 tsv 中的数字
- css - 在 Firefox 中使用 mask-image CSS 规则的 div 上未显示焦点轮廓
- angular - 在 app.module.ts 文件中的何处声明我的外部服务?
- python-3.x - 数据帧的条件语句
- django - 在嵌套的 Django Rest 框架上需要帮助