記錄elastic關於nested創建索引和查詢的使用

{
  "settings":{
    "number_of_shards":5,
    "number_of_replicas":2,
    "analysis":{
      "analyzer":{
        "ik":{
          "tokenizer":"ik_max_word"
        }
      }
    }
  },
  "mappings":{
    "class_base":{
      "dynamic":"strict",
      "properties":{
        "cityId":{
          "type":"integer",
          "store":true
        },
        "className":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        }
      ,
        "gradeName":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        }
      ,
        "subjectName":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        },
        "campusName":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        },
        "seasonName":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        }
      ,
        "weekName":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        },
        "timeName":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        }
      ,
        "courseTypeName":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        },
        "teacherName":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        }
      ,
        "switchOpen":{
          "type":"integer",
          "store":true
        },
        "startTime":{
          "type":"text",
          "store":true
        },
        "endTime":{
          "type":"text",
          "store":true
        },
        "classTimeName":{
          "type":"text",
          "store":true
        },
        "levelName":{
          "type":"text",
          "store":true
        },
        "teacherHeadPic":{
          "type":"text",
          "store":true
        },
        "limittimeTuitionFee":{
          "type":"text",
          "store":true
        },
        "classPrice":{
          "type":"text",
          "store":true
        },
        "limitTimeStatus":{
          "type":"integer",
          "store":true
        },
        "classId":{
          "type":"integer",
          "store":true
        },
        "searchContent":{
          "type":"text",
          "analyzer":"ik_max_word",
          "search_analyzer":"ik_max_word",
          "fields":{
            "keyword":{
              "type":"keyword",
              "store":true,
              "ignore_above":256
            }
          }
        },
        "weekNameList": {
          "type": "nested",
          "properties": {
            "weekName": {
              "type": "keyword",
               "store":true,
               "ignore_above":256
            }
          }
        },
        "teacherList": {
          "type": "nested",
          "properties": {
            "teacherName": {
                   "type": "keyword",
               "store":true,
               "ignore_above":256
            },
            "teacherHeadPic": {
              "type": "text"
            }
          }
        },
        "timeNameList": {
          "type": "nested",
          "properties": {
            "timeName": {
                    "type": "keyword",
               "store":true,
               "ignore_above":256
            }
          }
        },
        "campusNameList": {
          "type": "nested",
          "properties": {
            "campusName": {
                "type": "keyword",
               "store":true,
               "ignore_above":256
            }
          }
        }

      }
    }
  }
}

上面就是創建辦法

切記:nested 中不要加分詞,並且不要使用type=text的類型

然後通過API查詢

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