ElasticSearch 模糊匹配查詢

目前的需求輸入:王? 女 濟南 20-30

  • 能夠查詢以王開頭的人的名字
  • 性別爲女性
  • 地址爲濟南
  • *年齡爲20-30

分析及查詢

針對姓名,可直接在規範中定義好,王? 王* 王??,可直接搜索是否存在字符串;
針對性別,因只有男女,可直接進行匹配
地址爲漢字,可作爲if條件最後的一節,放到查詢語句中;
年齡需要進行判斷,存在數字的,或者存在“-”符號的,要進行日期加減,找出1987-1997的出生日期的人

這裏寫代碼片

{
"from": 0,
"query": {
"bool": {
"minimum_should_match": 1,
"must": [
{
"match": {
"XB": "2 "
}
},
{
"wildcard": {
"XM": "王*"
}
}
],
"should": [
{
"range": {
"CSRQ": {
"gte": "2010-09-01",
"lte": "2014-09-01"
}
}
}
]
}
},
"size": 10
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章