share facebook facebook twitter menu hatena pocket slack

2014.11.10 MON

Elasticsearch 各クエリのメモ

川原 洋平

WRITTEN BY 川原 洋平

ども、cloudpackかっぱ@inokara)です。

はじめに

取り急ぎのメモです。


検索系

インデックスのレコード数確認

curl -XGET 'http://${HOST}:9200/_cat/count/${INDEX_NAME}'

インデックス内から任意のフィールドの値のみを取得

curl -XGET 'http://${HOST}:9200/${INDEX_NAME}/_search?pretty' -d '
{
  "fields": [ "f1","f2","f3"]
}'

ちなみにネストされているレコードも以下のように取得出来る。

curl -XGET 'http://${HOST}:9200/${INDEX_NAME}/_search?pretty' -d '
{
  "fields": [ "f1.n1","f2.n2","f3.n3"]
}'

件数を指定して値を取得する

curl -XGET 'http://${HOST}:9200/${INDEX_NAME}/_search?pretty' -d '
{
  "from": 0,
  "size": 5000,
  "fields": [ "f1","f2","f3"]
}'

指定したフィールド内を検索して該当するレコードのみを取得する

curl -XGET 'http://${HOST}:9200/${INDEX_NAME}/_search?pretty' -d '
{
  "fields": [ "f1","f2","f3"],
  "query" : {
    "simple_query_string" : {
      "fields": ["f1"],
      "query": "strings"
    }
  }
}'

フィールド f1 内を strings で検索してマッチしたレコードのうち f1f2f3 のみを出力する。

f1 フィールドに “kappa is aho” を含むレコードを取得したい

curl -XGET 'http://${HOST}:9200/${INDEX_NAME}/_search?pretty' -d '
{
  "fields": [ "f1","f2","f3"],
  "query" : {
    "simple_query_string" : {
      "fields": ["f1"],
      "query": "kappa+is+aho"
    }
  }
}'

ちなみに…

curl -XGET 'http://${HOST}:9200/${INDEX_NAME}/_search?pretty' -d '
{
  "fields": [ "f1","f2","f3"],
  "query" : {
    "simple_query_string" : {
      "fields": ["f1"],
      "query": "kappa is aho"
    }
  }
}'

で検索すると…kappa was ikemenfukuyama masaharu is cool も含まれてしまう(はず)。


引続き…

めもります。

元記事はこちらです。
Elasticsearch 各クエリのメモ

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。