弹性搜索类型文本不会给出匹配查询的结果



我执行了两个查询

对于第一个映射如下所示:

"customer_details": {
        "mappings": {
            "pan_details": {
                "properties": {
                    "city": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "college": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "customer_mame": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "doc_url": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "pan_no": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    }
                }
            }
        }
    }

为此,当我写的时候

{  
   "query":{  
      "match":{  
         "pan_no":"ABCDFGGG"
      }
   }
}

它给了我结果。

但是当我给出如下所示的映射时:

{
    "customer_details": {
        "mappings": {
            "pan_details": {
                "properties": {
                    "city": {
                        "type": "text"
                    },
                    "college": {
                        "type": "text"
                    },
                    "customer_name": {
                        "type": "text"
                    },
                    "doc_url": {
                        "type": "text"
                    },
                    "pan_no": {
                        "type": "text"
                    }
                }
            }
        }
    }
}

查询为:

 {  
       "query":{  
          "match":{  
             "pan_no":"ABCDFGGG"
          }
       }
    }

它根本没有给我结果。

示例文档如下所示:

{
    "customer_mame": "Marcus Rodriguez",
    "pan_no": "ABCDEGFTY",
    "city": "San Fransisco",
    "college": "UCSB",
    "doc_url": [
      "www.google.com",
      "www.facebook.com",
      "www.twitter.com"
    ]
  }

现在,当我输入pan_no作为ABCD某些内容时,它应该返回我上面的文档。

不知道为什么上面的映射会得到不同的结果。基本上,这两个映射应该产生相同的结果,因为它们对于字段pan_no是相同的。我已经在本地环境中测试了您的上述映射,并且得到了相同的结果。文本类型的默认分析器是标准分析器,并将给出查询的结果(根据示例数据(:

{  
   "query":{  
      "match":{  
         "pan_no":"ABCDEGFTY"
      }
   }
}

现在,当我以 ABCD 身份输入pan_no时,它应该返回我 以上文件。

pan_no因为ABCD不会为您的样品生成任何数据,因为默认分析仪是标准分析仪。

最新更新