首页 > 解决方案 > Elasticsearch通配符查询忽略了一些单词

问题描述

通配符查询“beurr*”似乎忽略了“beurre”一词。
例如,我有一个名为“beurre de cacahuète”的数据。

正常查询会找到以下数据:

{
   "query": {      
     "query_string" : {                 
       "query" : "beurre",
     }
   }                     
}

对另一个词的通配符查询也是如此:

{
    "query": {
        "wildcard" : {
            "name" : "cacahuet*"  
        }
    }
}

但是这个通配符查询找不到匹配项:

{
    "query": {
        "wildcard" : {
            "name" : "beur*"  
        }
    }
}

我有很多应该匹配的数据,并且绝对找不到这种行为的原因......

标签: elasticsearch

解决方案


该问题是由使用“light_french”词干分析器引起的。删除它解决了这个问题。


推荐阅读