在索引中有12个tweets,只有一个包含日期,但是我们看看下面查询中的total hits。

    为什么全日期的查询返回所有的tweets,而针对date字段进行年度查询却什么都不返回?
    为什么我们的结果因查询_all字段(译者注:默认所有字段中进行查询)或date字段而变得不同?

    让我们看看Elasticsearch在对gb索引中的tweet类型进行mapping(也称之为模式定义[注:此词有待重新定义(schema definition)])后是如何解读我们的文档结构:

    返回:

    date类型的字段和string类型的字段的索引方式是不同的,因此导致查询结果的不同,这并不会让我们觉得惊讶。

    你会期望每一种核心数据类型(strings, numbers, booleans及dates)以不同的方式进行索引,而这点也是现实:在Elasticsearch中他们是被区别对待的。

    这两者的区别才真的很重要 - 这是区分搜索引擎和其他数据库的根本差异。