ユーザ用ツール

サイト用ツール


elasticsearch

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
elasticsearch [2021/05/21 06:17] nullponelasticsearch [2021/09/29 10:15] (現在) – [valueの最大値を取得] nullpon
行 17: 行 17:
 ==== インデックス(RDBで言うテーブル)一覧 ==== ==== インデックス(RDBで言うテーブル)一覧 ====
  
-  curl -XGET 'localhost:9200/_cat/indices?v'+  curl 'http://localhost:9200/_cat/indices?v'
  
  
 ==== 適当に1件取得 ==== ==== 適当に1件取得 ====
  
-  curl -XGET 'localhost:9200/<インデックス名>/_search?pretty&size=1'+  curl 'http://localhost:9200/<インデックス名>/_search?pretty&size=1'
  
 prettyはjsonをニンゲンが見やすくフォーマットする指定。 prettyはjsonをニンゲンが見やすくフォーマットする指定。
行 28: 行 28:
 ==== id指定取得 ==== ==== id指定取得 ====
  
-  curl -XGET 'localhost:9200/<インデックス名>/_doc/<_id>?pretty'+  curl 'http://localhost:9200/<インデックス名>/_doc/<_id>?pretty'
  
-===== 日本語形態素解析エンジンkuromoriを使う =====+==== valueの最大値を取得 ==== 
 + 
 +  curl -XPOST -H 'Content-type: application/json' -d '{ "aggs": { "max_value": { "max": { "field": "value" } } } }' 'http://localhost:9200/<インデックス名>/_search?size=0' 
 + 
 + 
 +==== フィールドの存在有無検索 ==== 
 + 
 + 
 +  curl -XPOST -H 'Content-type: application/json' -d '{ "query": { "exists": { "field": "field_name" } } }' 'http://localhost:9200/<インデックス名>/_search?pretty&size=1' 
 + 
 +==== 範囲検索 ==== 
 + 
 +  curl -XPOST -H 'Content-type: application/json' -d '{ "query": { "range": { "date": { "gt": "2020-01-01T00:00:00+09:00" } } } }' 'http://localhost:9200/<インデックス名>/_search?pretty&size=1' 
 + 
 + 
 +==== and条件検索 ==== 
 + 
 +<code> 
 +curl -XPOST -H 'Content-type: application/json' -d '{  
 +  "query": {  
 +    "bool": {  
 +      "must":
 +         { "range": { "date": { "gt": "2020-01-01T00:00:00+09:00" } } },  
 +         { "exists": { "field": "field_bame" } }  
 +      ] 
 +    }  
 +  }  
 +}' 'http://localhost:9200/<インデックス名>/_search?pretty&size=1' 
 +</code> 
 +===== 日本語形態素解析エンジンkuromojiを使う =====
  
 日本語のような分かち書きされない言語を全文検索するには、ngramや形態素解析での前処理が必要。 日本語のような分かち書きされない言語を全文検索するには、ngramや形態素解析での前処理が必要。
行 166: 行 195:
 } }
 </code> </code>
 +
 +===== エイリアス =====
 +
 +インデックスに別名を付ける機能、インデックス名の代わりにエイリアス名を指定して検索ができる
 +
 +一覧
 +
 +<code>
 +$ curl http://localhost:9200/_cat/aliases?v
 +</code>
 +
 +
 +エイリアス作成
 +
 +<code>
 +$ curl -X POST -H 'Content-Type: application/json' -d '{ "actions" : [ { "remove" : { "index" : "hoge_old", "alias" : "hoge" } },{ "add" : { "index" : "hoge_new", "alias" : "hoge" } } ] }' http://localhost:9200/_aliases
 +</code>
 +
 +エイリアス削除
 +<code>
 +curl -X POST -H 'Content-Type: application/json' -d '{ "actions" : [ { "remove" : { "index" : "hoge_old", "alias" : "hoge" } } } ] }' http://localhost:9200/_aliases
 +</code>
 +
 +別のインデックスに変更
 +<code>
 +curl -X POST -H 'Content-Type: application/json' -d '{ "actions" : [ { "remove" : { "index" : "hoge_old", "alias" : "hoge" } },{ "add" : { "index" : "hoge_new", "alias" : "hoge" } } ] }' http://localhost:9200/_aliases
 +</code>
 +
  
elasticsearch.1621577868.txt.gz · 最終更新: 2021/05/21 06:17 by nullpon