Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch Elasticsearch筛选难题,大写与小写字段筛选_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Kibana - Fatal编程技术网 elasticsearch Elasticsearch筛选难题,大写与小写字段筛选,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch Elasticsearch筛选难题,大写与小写字段筛选,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch Elasticsearch筛选难题,大写与小写字段筛选

elasticsearch Elasticsearch筛选难题,大写与小写字段筛选,elasticsearch,kibana,elasticsearch,Kibana,我的索引中有一个名为“status”的关键字类型字段 当我尝试使用{“term”:{“status”:“Publish”}进行筛选时,它不会返回任何命中 当我尝试使用{“term”:{“status”:“publish”}进行筛选时,它返回正确的结果 如果状态输入为小写,这是一回事,但它们实际上是大写 My kibana GET返回状态为“发布”的产品 我还记得用大写字母插入状态。那么为什么我只能用小写字母过滤呢 最大的警告是,我知道这样做是可疑的,我试图在项目索引已经创建之后添加“状态”映射。

我的索引中有一个名为“status”的关键字类型字段

当我尝试使用{“term”:{“status”:“Publish”}进行筛选时,它不会返回任何命中 当我尝试使用{“term”:{“status”:“publish”}进行筛选时,它返回正确的结果

如果状态输入为小写,这是一回事,但它们实际上是大写

My kibana GET返回状态为“发布”的产品

我还记得用大写字母插入状态。那么为什么我只能用小写字母过滤呢

最大的警告是,我知道这样做是可疑的,我试图在项目索引已经创建之后添加“状态”映射。这是我现在的罪魁祸首,这就是为什么会发生这种情况

有人知道为什么当映射中的实际值为大写时,筛选只对小写值起作用吗?

如果未指定分析器,则默认分析器。因此,
Publish
将索引为
Publish

如果尚未明确定义任何映射,则需要将.keyword添加到状态字段。这将使用关键字分析器而不是标准分析器(请注意状态字段后面的“.keyword”)

不会对搜索项应用任何分析器,因此将仅在反向索引中查找该确切项。因此,要搜索确切项,您需要使用status.keyword或更改字段的映射

{
  "query": {
    "term": {
      "status.keyword": "Publish"
    }
  }
}

我刚刚在Kibana中再次查询了我的映射。它没有作为关键字的状态,而是作为文本类型。一定是一些混乱的事情,如果你有一个现有的标记并试图添加映射到它,它就会混乱。我相信,因为它是“文本类型”“它自动将其转换为小写。@VincentTomie您能分享一下您的
状态
字段?”状态:{“类型”:“文本”,“字段”:{“关键字”:{“类型”:“关键字”,“忽略上面的“:256}}}的索引映射吗,根据这一点。哎呀lol@VincentTomie根据索引映射,答案中给出的搜索查询将给出正确的结果