日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

高級查詢語法

為了滿足更多的查詢檢索需求,SELECT查詢語句中支持search_query關鍵字,使用與Lucene(全文檢索引擎工具包)查詢語法相似。本文介紹通過search_query關鍵字查詢數據的使用示例。

前提條件

語法

SELECT selectors
  FROM table
  WHERE (search_query = 'search_expression')
  [ LIMIT n ];

示例

  • OR邏輯查詢

    SELECT * FROM search_table WHERE search_query = 'name:陳女士 age:[40 TO 60]';

    與以下語句功能相同。

    SELECT * FROM search_table WHERE name='陳女士' OR (age >= 40 AND age <= 60);

    返回結果:

    +---------+--------+-----+--------+--------------+------------------+------+
    | user_id |  name  | age | gender |   address    |      email       | city |
    +---------+--------+-----+--------+--------------+------------------+------+
    | 28      | 陳女士 | 36  | F      | 深圳市南山區 | a***@example.net | 深圳 |
    +---------+--------+-----+--------+--------------+------------------+------+
  • AND邏輯查詢

    SELECT * FROM search_table WHERE search_query = '+name:張先生 +age:[10 TO 40]';

    與以下語句功能相同。

    SELECT * FROM search_table WHERE name='張先生' AND (age >= 10 AND age <= 40);

    返回結果:

    +---------+--------+-----+--------+--------------+------------------+------+
    | user_id |  name  | age | gender |   address    |      email       | city |
    +---------+--------+-----+--------+--------------+------------------+------+
    | 1       | 張先生 | 18  | M      | 北京市朝陽區 | a***@example.net | 北京 |
    +---------+--------+-----+--------+--------------+------------------+------+
  • 聚合統計

    SELECT count(*) FROM search_table WHERE search_query = 'age:[10 TO 40]';

    返回結果:

    +----------+
    | COUNT(*) |
    +----------+
    | 4        |
    +----------+
  • 分詞查詢

    SELECT * FROM search_table WHERE search_query='address:北京';

    返回結果:

    +---------+--------+-----+--------+--------------+------------------+------+
    | user_id |  name  | age | gender |   address    |      email       | city |
    +---------+--------+-----+--------+--------------+------------------+------+
    | 1       | 張先生 | 18  | M      | 北京市朝陽區 | a***@example.net | 北京 |
    +---------+--------+-----+--------+--------------+------------------+------+
  • 結果排序。如果需要按照指定的age字段進行排序,請執行以下語句。

    SELECT * FROM search_table WHERE search_query='{"q":"address:杭州", "sort":"age asc"}';
    說明

    上述語句中qsort為系統關鍵字,不需要修改。

    返回結果:

    +---------+--------+-----+--------+--------------+------------------+------+
    | user_id |  name  | age | gender |   address    |      email       | city |
    +---------+--------+-----+--------+--------------+------------------+------+
    | 20      | 王先生 | 28  | M      | 杭州市濱江區 | a***@example.net | 杭州 |
    | 6       | 李先生 | 32  | M      | 杭州市余杭區 | a***@example.net | 杭州 |
    +---------+--------+-----+--------+--------------+------------------+------+
  • Elasticsearch兼容語法。

    SELECT * FROM search_table WHERE search_query='{"query": {
        "bool": {
          "must": {
            "match": {
              "address": "北京"
            }
          }
        }
      }
    }';

    與以下語句功能相同。

    SELECT * FROM search_table WHERE address='北京';

    返回結果:

    +---------+--------+-----+--------+--------------+------------------+------+
    | user_id |  name  | age | gender |   address    |      email       | city |
    +---------+--------+-----+--------+--------------+------------------+------+
    | 1       | 張先生 | 18  | M      | 北京市朝陽區 | a***@example.net | 北京 |
    +---------+--------+-----+--------+--------------+------------------+------+