[エントリーから実際の戦闘までのES] 10のフルテキスト検索-ElasticSearch-Advanced-QueryDSLの基本的な使用とmatch_all

セクション9に進む

2、クエリDSL

前のセクションで使用したフォームは

GET /bank/_search
{
     
     
  "query": {
     
     
    "match_all": {
     
     }
  },
  "sort": [
    {
     
     
      "account_number": "asc"
    },
    {
     
     
      "balance": "desc"
    }
  ]
}

クエリ言語スタイル、これをと呼びますQuery DSL

1)、基本的な構文形式

Elastisearchは、クエリを実行できるJsonスタイルのDSl(ドメイン固有の言語)を提供します。これはクエリDSLと呼ばれます。
クエリ言語は非常に包括的で、最初は少し複雑に感じます。実際にそれを学ぶ方法は、いくつかの基本的な例から始めることです。

  • クエリステートメントの一般的な構造
{
    
    
	QUERY_NAME:{
    
    
		ARGUMENT: VALUE,
		ARGUMENT: VALUE,
		...
	}
}

例えば:

GET /bank/_search
{
  "query": {
    "match_all": {}
  }
}

ここに写真の説明を挿入

  • フィールド用の場合、その構造は次のとおりです。
{
    
    
	QUERY_NAME:{
    
    
		FIELD_NAME:{
    
    
			ARGUMENT: VALUE,
			ARGUMENT: VALUE,
			...
		}
	}
}

例えば:

GET / bank / _search
{ “ query”:{ “ match_all”:{} }、“ sort”:[ { “ balance”:{ “ order”:“ desc” } } ]、“ from”:0、“ size” :5 }













-queryはクエリの方法を定義します; -match_allクエリタイプ[すべてのクエリを表します]、esはクエリ内の多くのクエリタイプを組み合わせて複雑なクエリを完了
することができます-クエリパラメータに加えて、クエリを変更するために他のパラメータを渡すこともできます結果。sort、size、
-from + size limit、ページング機能の完了など。
-sortsort、マルチフィールドソート、前のフィールドが等しい場合は後続のフィールドが内部的にソートされ、それ以外の場合は前の順序が優先されます。

ここに写真の説明を挿入

2)、いくつかのフィールドを返します

GET /bank/_search
{
    
    
  "query": {
    
    
    "match_all": {
    
    }
  },
  "sort": [
    {
    
    
      "balance": {
    
    
        "order": "desc"
      }
    }
  ],
  "from": 0,
  "size": 5,
  "_source": ["balance","firstname"]
}

_sourceMySQLと同様に、指定されたフィールドにのみ戻りますselect field_1,field_2,... from table
ここに写真の説明を挿入

参照ドキュメント-query-dsl


参照:

Elasticsearchリファレンス

弾性

フルテキスト検索エンジンElasticsearchの使用を開始する

おすすめ

転載: blog.csdn.net/runewbie/article/details/106341629