Elasticsearch 结果不是很符合我的映射字段查询

Elasticsearch results are not very accqurate with my mapping field query

请在下面找到我的 filename 字段的映射查询。

PUT /articles
{
   "settings" : {
      "analysis" : {
         "analyzer" : {
            "filename_search" : {
               "tokenizer" : "filename",
               "filter" : ["lowercase"]
            },
            "filename_index" : {
               "tokenizer" : "filename",
               "filter" : ["lowercase","edge_ngram"]
            }
         },
         "tokenizer" : {
            "filename" : {
               "pattern" : "[^\p{L}\d]+",
               "type" : "pattern"
            }
         },
         "filter" : {
            "edge_ngram" : {
               "side" : "front",
               "max_gram" : 50,
               "min_gram" : 1,
               "type" : "edgeNGram"
            }
         }
      }
   },
   "mappings" : {
      "doc" : {
         "properties" : {
            "filename" : {
               "type" : "text",
               "search_analyzer" : "filename_search",
               "analyzer" : "filename_index"
            }
         }
      }
   }
}

如果我正在尝试查询 series1333372 doc623258 并且期待 karthik_series1333372_oracle_page_doc623258_v1_en-EU.pdf。但它给出了所有具有 series1333372 的文件,甚至没有检查 doc623258.

请在下面找到我的查询

get articles/_search
{
   "query" : {
      "match" : {
         "filename" : "series1333372 doc623258"
      }
   }
}

我正在插入以下示例文档以从 Kibana 进行测试

POST articles/doc/1
{
  "filename" : "karthik_series1333372_oracle_page_doc623258_v1_en-EU.pdf"
}

POST articles/doc/2
{
  "filename" : "karthik_series1333372_sun_page_doc658_v1_en-EU.pdf"
}

POST articles/doc/3
{
  "filename" : "series1333372_oracle_page_doc623_v1_en-US.pdf"
}

POST articles/doc/4
{
  "filename" : "Engineering series1333372 valve_page doc6232 v1_en-US.pdf"
}

POST articles/doc/5
{
  "filename" : "Machines_series1333372_page_doc62258_v1_en-US.pdf"
}

POST articles/doc/6
{
  "filename" : "AIX series1333372 IBM page doc62358 v1_en-EU.pdf"
}

match的默认运算符是OR。如果您希望所有条款都出现,请像这样更改它

GET articles/_search
{
   "query" : {
      "match" : {
         "filename" : {
           "query": "series1333372 doc623258",
            "operator" : "and"
         }
      }
   }
}