term level query查询方式

term 级的查询有以下方式:

  • term query

    查询出那些指定的字段中含有指定的词的文档

  • terms query

    查询出那些指定字段中含有指定的一系列词中的任意一个的文档

  • ids query

    根据类型与 ID 查询出符合条件的文档

  • range query

    指定一个范围,如果某个文档的某个字段的值刚好在这个范围之中,则认为该文档符合查询条件

  • exists query

    指定某个文档的某个字段,如果该值不是 null,则认为该文档符合查询条件

  • missing query

    指定某个文档的某个字段,如果该字段不存在,或者虽然存在,但是其值却是 null,则该文档符合查询条件

  • prefix query

    指定一个前缀,如果某个文档的某个字段的值刚好是以这个前缀起始的,则该文档符合查询条件

  • wildcard query

    类似 SQL 的通配符查询,在 wildcard 中,你可以使用 ? 来表示任何的某个字母或者 * 表示任何的多个字母 来组建一个表达式,然后根据这个表达式去查出匹配符合条件的文档

  • regexp query

    指定一个正则表达式,查询出指定字段的值符合这个则表达式的文档

terms query

查找包含指定字段中包含查询词根集合中任意一个精确匹配的文档。

例如查询tag中包含Soup或Cake关键字的记录:

image-20220725073019449

根据IDs查询文档

根据类型与 ID 查询出符合条件的文档

例如查询id为[1,2,3]的文档:

image-20220725073317117

range查询

指定一个范围,如果某个文档的某个字段的值刚好在这个范围之中,则认为该文档符合查询条件

例如查询库存在10-20间的产品:

image-20220725073426648

range也可用于日期查询:

image-20220725073538978

exists 查询

指定某个文档的某个字段,如果该值不是 null,则认为该文档符合查询条件

例如查询tags不为空的记录:

image-20220725084127865

prefix 查询

指定一个前缀,如果某个文档的某个字段的值刚好是以这个前缀起始的,则该文档符合查询条件

例如查询tags中以Vege开头的记录:

image-20220725084350630

wildcard查询

类似 SQL 的通配符查询,在 wildcard 中,你可以使用 ? 来表示任何的某个字母或者 * 表示任何的多个字母 来组建一个表达式,然后根据这个表达式去查出匹配符合条件的文档

例如查询tags满足Vege*able的记录:

image-20220725084641842

regex查询

指定一个正则表达式,查询出指定字段的值符合这个则表达式的文档

例如查询tags满足Vege[a-zA-Z]+able的记录:

image-20220725084748258