MST
星途 面试题库

面试题:ElasticSearch索引创建及简单查询实践

假设你有一个包含书籍信息的数据集,包括书名、作者、出版年份等字段。请描述如何在ElasticSearch中创建索引来存储这些数据,并编写一个查询,检索出2020年之后出版的书籍。
47.3万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试
  1. 在ElasticSearch中创建索引存储数据
    • 首先,定义索引的映射(mapping),它指定了每个字段的数据类型等信息。例如,使用如下的JSON格式来定义映射:
{
    "mappings": {
        "properties": {
            "书名": {
                "type": "text"
            },
            "作者": {
                "type": "text"
            },
            "出版年份": {
                "type": "integer"
            }
        }
    }
}
  • 然后使用PUT请求创建索引,例如在Kibana的Dev Tools中执行:
PUT /books_index
{
    "mappings": {
        "properties": {
            "书名": {
                "type": "text"
            },
            "作者": {
                "type": "text"
            },
            "出版年份": {
                "type": "integer"
            }
        }
    }
}
  1. 编写查询检索2020年之后出版的书籍
    • 使用POST请求执行查询,例如在Kibana的Dev Tools中执行:
POST /books_index/_search
{
    "query": {
        "range": {
            "出版年份": {
                "gt": 2020
            }
        }
    }
}

上述代码中,books_index为索引名,可根据实际情况修改。gt表示大于,这里用于筛选出版年份大于2020的书籍。