セキュア・モードでの例の実行

Sheildを使用したセキュアなElasticsearchセキュアなOracle NoSQLストアのデプロイおよび構成およびElasticsearchへの全文検索公開証明書のインストールの付録で示されているステップを実行して、セキュアなOracle NoSQLストアとElasticsearchクラスタをデプロイしたと仮定すると、この項で示すコマンドを実行して、次の操作を実行できるようになっています。

セキュアなOracle NoSQLストアの表の作成と移入

セキュア・モードでプログラムLoadJsonExampleを実行します。次に例を示します。

java –classpath /opt/ondb/kv/lib/kvstore.jar:src es.table.LoadJsonExample 
        –store mystore 
        –host kvhost1 
        –port 5000 
        –file ~/examples/es/docs/senator-info.json 
        -table exampleJsonTable 
        -security /tmp/FTS-client.login

セキュアなElasticsearchクラスタへのストアの登録および全文索引の作成

Oracle NoSQLストアへのセキュアなアクセスが構成されているクライアント・ノードから、このストアの管理CLIを起動します。たとえば、clhost1という名前のホストから、セキュアなOracle NoSQLストアのデプロイおよび構成の説明に従って作成およびプロビジョニングされたFTSという名前のユーザーとしてCLIを起動します。

clhost1の場合

java -jar /opt/ondb/kv/lib/kvcli.jar runadmin 
        –host kvhost1 
        -port 5000 
        –store mystore 
        –security /tmp/FTS-client.login

  Logged in admin as FTS

kv-> plan register-es 
        –clustername escluster 
        –host eshost1 
        –port 29100 
        –secure true 
        -wait

  Executed plan 25, waiting for completion...
  Plan 25 ended successfully

kv-> execute 'CREATE FULLTEXT INDEX jsonTxtIndex ON 
    exampleJsonTable (
      jsonField.current{"type":"boolean"},
      jsonField.party{"type":"string","analyzer":"standard"},
      jsonField.duties.committe{"type":"string"},
      jsonField.contrib{"type":"double"})'; 

  Statement completed successfully

kv-> exit

Elasticsearchの索引付きデータに対するセキュアな全文検索問合せの実行

Sheildを使用したセキュアなElasticsearchで示されているclhost1ノードなど、Elasticsearchクラスタへのセキュアなアクセスが構成されているクライアント・ノードから、次のような問合せを実行します。

clhost1の場合

curl –k -E /tmp/elasticsearch-eshost1.pem 
        --key /tmp/elasticsearch-eshost1.pkey 
        –X GET 'http://eshost1:29100/_cat/indices'

curl –k -E /tmp/elasticsearch-eshost2.pem 
        --key /tmp/elasticsearch-eshost2.pkey 
        –X GET 'http://eshost2:29100/ondb.kvstore.examplejsontable.jsontxtindex/_mapping?pretty'

curl –k -E /tmp/elasticsearch-eshost3.pem 
        --key /tmp/elasticsearch-eshost3.pkey 
        –X GET 'http://eshost3:29100/ondb.kvstore.examplejsontable.jsontxtindex/_search?pretty'

curl –k -E /tmp/elasticsearch-eshost1.pem 
        --key /tmp/elasticsearch-eshost1.pkey 
        –X GET 'http://eshost1:29100/ondb.mystore.examplejsontable.jsontxtindex/_search?pretty' 
        '-d {query":{"bool":{
                "must":{"match":{"jsonCol.party":"Democrat"}},
                "must":{"match":"jsonCol.current":"true"}},
                "must":{"range":{"jsonField.contrib":{"gte":"1000000.00","lte":20000000.00"}}},
                "must":"match":{"jsonField.duties.committe":"Judiciary Apropriations"}}}}}'

ノート:

前述の問合せは、Elasticsearchクラスタの任意のノード(eshost1eshost2またはeshost3)に送信できます。問合せの送信先となる特定のノードに対応する公開証明書と秘密キーを必ず指定してください。