elasticsearch 自定义停止字分析器工作不正常,elasticsearch,kibana,analyzer,stop-words,elasticsearch,Kibana,Analyzer,Stop Words" /> elasticsearch 自定义停止字分析器工作不正常,elasticsearch,kibana,analyzer,stop-words,elasticsearch,Kibana,Analyzer,Stop Words" />

elasticsearch 自定义停止字分析器工作不正常

elasticsearch 自定义停止字分析器工作不正常,elasticsearch,kibana,analyzer,stop-words,elasticsearch,Kibana,Analyzer,Stop Words,我已经为停止字创建了一个带有自定义分析器的索引。我希望弹性搜索在搜索时忽略这些词。然后我在elasticsearch映射中添加了一个文档数据。 但是当我在kibana中查询关键字的时候。它不应该显示任何成功的匹配,因为在我的分析程序中,我已经在我的单词部分中添加了。但它正在展示这场比赛。我已经研究过,如果您在映射字段中索引时提到一个分析器。然后在查询时默认使用该分析器。 请帮忙 PUT /pandey { "settings": { "analysis": {

我已经为停止字创建了一个带有自定义分析器的索引。我希望弹性搜索在搜索时忽略这些词。然后我在elasticsearch映射中添加了一个文档数据。 但是当我在kibana中查询关键字的时候。它不应该显示任何成功的匹配,因为在我的分析程序中,我已经在我的单词部分中添加了。但它正在展示这场比赛。我已经研究过,如果您在映射字段中索引时提到一个分析器。然后在查询时默认使用该分析器。 请帮忙

PUT /pandey
{ 
  "settings":  
  { 
    "analysis":  
    { 
      "analyzer":  
      { 
        "my_analyzer":  
        { 
          "tokenizer": "standard", 
          "filter": [ 
            "my_stemmer", 
            "english_stop", 
            "my_stop_word", 
            "lowercase" 
          ] 
        } 
      }, 
      "filter": { 
        "my_stemmer": { 
          "type": "stemmer", 
          "name": "english" 
        }, 
        "english_stop":{ 
          "type": "stop", 
          "stopwords": "_english_" 
        }, 
        "my_stop_word": { 
          "type": "stop", 
          "stopwords": ["robot", "love", "affection", "play", "the"] 
        } 
      }
    } 
  },
  "mappings": {
    "properties": {
      "dialog": {
        "type": "text",
        "analyzer": "my_analyzer"
      }
    }
  }
}


 PUT pandey/_doc/1
 {
    "dailog" : "the boy is a robot. he is in love. i play cricket"
 }

 GET pandey/_search
    {
      "query": {
        "match": {
          "dailog": "the"
        }
      }
    }

一个小小的拼写错误就可能导致这种情况

您为对话框定义了映射,但添加了字段名为dailog的文档。弹性体的动态场映射行为将无误地对其进行索引。我们可以禁用它


因此,查询dailog:the将使用默认分析器获得结果。

这在7.6版本中有效。您是否可以尝试使用并查看使用生成的令牌。另外,只需使用GET pandey/_映射进行交叉检查,查看映射是否如预期的那样。很多时候,人们使用模板作为语言过滤器和所有工具,他们看到了意想不到的结果。还可以尝试删除索引并重新创建,看看这是否有什么不同。