ElasticSearch7.2単純命令実操(postman版)

10499 ワード

Postmanアクセス操作ElasticSearchデータベースを使用し、データフォーマットはjsonです.
目次
一、クラスタ設定
二、インデックス操作-index
三、マッピング操作-mapping
四、ドキュメント操作-doc
五、検索
六、分詞器
一、クラスタ設定
1.クラスタ設定の表示
GET http://elasticsearch-1:9200/_cluster/settings

2、クラスタ設定の変更-インデックスの自動作成
auto_create_index=falseの場合、存在しないインデックスを1つ指定し、新規ドキュメントがエラーを報告します.auto_create_index=trueの場合、存在しないインデックスを1つ指定し、ファイルを追加して成功し、存在しないインデックスが作成されます.
PUT http://elasticsearch-1:9200/_cluster/settings
{
	"persistent": {
		"action.auto_create_index": "false"
	 }
}

二、インデックス操作-index
1、索引の作成
PUT http://elasticsearch-1:9200/nba
{
    "mappings": {
        "properties": {
            "name": {
                "type": "text"
            },
            "team_name": {
                "type": "text"
            },
            "position": {
                "type": "text"
            },
            "play_year": {
                "type": "long"
            },
            "jerse_no": {
                "type": "keyword"
            }
        }
    }
}

2、インデックスの取得
GET http://elasticsearch-1:9200/nba

3、索引を閉じる
POST http://elasticsearch-1:9200/nba/_close

4、索引の削除
DELETE http://elasticsearch-1:9200/nba/

三、マッピング操作-mapping
1、マッピングの作成
PUT http://elasticsearch-1:9200/nba/_mapping
{
	"properties": {
		"name": {
			"type": "text"
		 },
		"team_name": {
			"type": "text"
		 },
		"position": {
			"type": "keyword"
		 },
		"play_year": {
			"type": "keyword"
		 },
		"jerse_no": {
			"type": "keyword"
		 },
		 "country":{
		 	"type": "keyword"
		 }
	 }
}

2、マッピングの取得
GET http://elasticsearch-1:9200/nba/_mapping

 
四、ドキュメント操作-doc
1、新規ドキュメント-IDの指定
PUT http://elasticsearch-1:9200/nba/_doc/3
{
    "name": "   ",
    "team_name": "  ",
    "position": "   ",
    "play_year": 15,
    "jerse_no": "23"
}

2、新規ドキュメント-IDを指定しない
POST http://elasticsearch-1:9200/nba/_doc
{
	"name":"  ",
	"team_name":"  ",
	"position":"    ",
	"play_year":"10",
	"jerse_no":"13",
	"country":"   "
}

3、ドキュメントの取得-byId
GET http://elasticsearch-1:9200/nba/_doc/1

4、新規ドキュメント-操作タイプの指定
生産過程で業務によって指定のタイプを追加し、データの重複を防止し、データの一意性を保証する.
PUT http://elasticsearch-1:9200/nba/_doc/1?op_type=create
{
	"name":"  ",
	"team_name":"  ",
	"position":"    ",
	"play_year":"10",
	"jerse_no":"13"
}

5、ドキュメントの取得-all
  1:
http://elasticsearch-1:9200/_mget
{
    "docs": [
        {
            "_index": "nba",
            "_type": "_doc",
            "_id": "1"
        },
        {
            "_index": "nba",
            "_type": "_doc",
            "_id": "sBwWSW4BSS1Cuk2FoD69"
        }
    ]
}
  2:
http://elasticsearch-1:9200/nba/_mget
{
    "docs": [
        {
            "_type": "_doc",
            "_id": "1"
        },
        {
            "_type": "_doc",
            "_id": "2"
        }
    ]
}
  3:
http://elasticsearch-1:9200/nba/_docs/_mget
{
    "docs": [
        {
            "_id": "1"
        },
        {
            "_id": "2"
        }
    ]
}
  4:
http://elasticsearch-1:9200/nba/_docs/_mget
{
    "ids": [
        "1",
        "sBwWSW4BSS1Cuk2FoD69"
    ]
}

6、文書の修正-データ全体の更新
POST http://elasticsearch-1:9200/nba/_update/2
{
    "doc": {
        "name": "  ",
        "team_name": "  ",
        "position": "    ",
        "play_year": 10,
        "jerse_no": "30",
        "title": "The best 3-points shooter is Curry!"
    }
}

7、新規フィールド
POST http://elasticsearch-1:9200/nba/_update/1
{
    "script": "ctx._source.age = 18"
}

8、指定文書フィールドの更新
POST http://elasticsearch-1:9200/nba/_update/1
{
    "script": {
        "source": "ctx._source.age += params.age",
        "params": {
            "age": 4
        }
    }
}

9、フィールドの削除
POST http://elasticsearch-1:9200/nba/_update/1
{
    "script": "ctx._source.remove(\"age\")"
}

10、upsert
upsert指定されたドキュメントが存在しない場合、upsertパラメータに含まれる内容は、新しいドキュメントとしてインデックスに挿入されます.指定したファイルが存在する場合、ElasticSearchエンジンは指定した更新ロジックを実行します.
POST http://elasticsearch-1:9200/nba/_update/3
{
    "script": {
        "source": "ctx._source.allstar += params.allstar",
        "params": {
            "allstar": 4
        }
    },
    "upsert": {
        "allstar": 1
    }
}

11、ドキュメントの削除-byId
DELETE http://elasticsearch-1:9200/nba/_doc/3

 
五、検索
1、term(語句)クエリー-正確なクエリー
GET http://elasticsearch-1:9200/nba/_search
    :            ,                ,     。

    :
{
    "query": {
        "term": {
            "jerse_no": "23"
        }
    }
}
    :
{
    "query": {
        "terms": {
            "jerse_no": [
                "23",
                "13"
            ]
        }
    }
}

2、match_all全文クエリー-単一フィールドクエリー
GET http://elasticsearch-1:9200/nba/_search
full text(  )  
    :ElasticSearch           ,         ,                  ,     ,       ,     ;           ,              。
  :         10 ,    from size              。     

       :
{
    "query": {
        "match_all": {}
    },
    "from": 0,
    "size": 100
}
          :
{
    "query": {
        "match": {
            "name": " baby"
        }
    },
    "from": 0,
    "size": 100
}

3、multi_match全文クエリー-マルチフィールドクエリー
1つのパラメータは複数のフィールドでクエリーされ、フィールドはor、andではありません.つまりtitle='shooter'or name='shooter'
GET http://elasticsearch-1:9200/nba/_search
{
    "query": {
        "multi_match": {
            "query": "shooter",
            "fields": [
                "title",
                "name"
            ]
        }
    }
}

4、match_phrase-正確なクエリー
GET http://elasticsearch-1:9200/nba/_search
{
    "query": {
        "match_phrase": {
            "position": "   "
        }
    }
}

5、match_phrase_prefix(語句)-左接頭辞クエリー
GET http://elasticsearch-1:9200/nba/_search
{
    "query": {
        "match_phrase_prefix": {
            "title": "the best s"
        }
    }
}

六、分詞器
1、standard-analyzer:デフォルト、標準分詞器
標準アナライザはデフォルトの分詞器で、指定されていない場合はその分詞器を適用します.
POST http://elasticsearch-1:9200/_analyze
{
    "analyzer": "standard",
    "text": "The best 3-points shooter is Curry!"
}

2、simple-analyzer:単純分詞器
simpleアナライザは、ワード
POST http://elasticsearch-1:9200/_analyze
{
    "analyzer": "simple",
    "text": "The best 3-points shooter is Curry!"
}

3、whitespace-analyzer:空白文字分詞器
whitespaceアナライザは、空の
POST http://elasticsearch-1:9200/_analyze
{
    "analyzer": "whitespace",
    "text": "The best 3-points shooter is Curry!"
}

4、stop-analyzer
stopアナライザはsimpleアナライザに似ていますが、stopアナライザは停止語の削除に対する支持を増やし、デフォルトではenglish停止語stopwordsが事前に定義した停止語のリスト、例えば(the,a,an,this,of,at)などを使用します.
POST http://elasticsearch-1:9200/_analyze
{
    "analyzer": "stop",
    "text": "The best 3-points shooter is Curry!"
}

5、language-analyzer:言語分詞器
(特定の語rwegian, persian, portuguese, romanian,russian, sorani, spanish,swedish, turkish, thai)
POST http://elasticsearch-1:9200/_analyze
{
    "analyzer": "english",
    "text": "The best 3-points shooter is Curry!"
}

6、pattern-analyzer:正則分詞器
正規表現を適用してテキストをtermsに分割し、デフォルトの正規表現はW+(単語文字)
POST http://elasticsearch-1:9200/_analyze
{
    "analyzer": "pattern",
    "text": "The best 3-points shooter is Curry!"
}

7、IK-analyzer:推奨使用
POST http://elasticsearch-1:9200/_analyze
{
    "analyzer": "ik_max_word",
    "text": "2019                           "
}

8、索引作成時-分詞器の設定
PUT http://elasticsearch-1:9200/analyzer_index
{
    "settings": {
        "analysis": {
            "analyzer": {
                "my_analyzer": {
                    "type": "whitespace"
                }
            }
        }
    },
    "mappings": {
        "properties": {
            "name": {
                "type": "text"
            },
            "team_name": {
                "type": "text"
            },
            "position": {
                "type": "text"
            },
            "play_year": {
                "type": "long"
            },
            "jerse_no": {
                "type": "keyword"
            },
            "title": {
                "type": "text",
                "analyzer": "my_analyzer"
            }
        }
    }
}