Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 100W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890 (2025年4月26日 13:07 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)USB Type C ケーブル 【1m+1m+2m+2m/4本】タイプc ケーブル PD対応 60W急速充電】データ転送 断線防止 高耐久ナイロン iPhone 16 /iPhone 15 / MacBook、iPad Pro/Air、Galaxy、Sony、Pixel Type C機種対応
¥798 (2025年4月26日 13:05 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)iPadペンシル2018-2025対応, 13分急速充電アップルペンシル, 手のひら誤操作防止, 傾き感知, 磁気吸着, 5分自動スリープ 長時間使用, iPad タッチペン第11 (A16)/10/9/8/7/6世代、Air 11"/13" M2/M3 2025 /Pro 11"/13" M4 2024 、Mini 第7/6 Gen、Air 3/4/5 Gen に対応
¥1,599 (2025年4月26日 13:05 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)
ElasticsearchのMLとKibanaのSaved Object
Elasticsearchでは機械学習(ML)関連の機能をいくつか提供しています。
- Anomaly Detection(異常検知)
- Data Frame Analytics(データフレーム分析)
- Trained Models (自然言語モデルのアップロードなど。ELSERやE5なども含む。)
基本的にこれらのMLの機能はElasticsearchが(Kibanaとは独立して)提供しています。
ただし、例えばKibana上からAnomaly Detectionジョブを作成すると、そのジョブは作成した時のKibana Spaceに紐づいた状態となります。複数のSpaceがある環境の場合、Spaceを切り替えると元のSpaceで作成したジョブは見えなくなるはずです。
これはKibanaがJobを作成する場合、直接ElasticsearchのML関連のデータを参照するのではなく、KibanaのSaved Objectを介して参照しているためです。このデータ構造については以下の記事でも紹介しました。
Saved Objectの検索
KibanaのSaved Objectは.kibana
というシステムインデックス(エイリアス)に保存されています。私の環境では.kibana_8.11.1_001
が実インデックスとして使われていました。これらのインデックスは、KibanaのSaved Objectを管理するためのもので、通常は直接操作することはありませんが、実際のデータ構造を理解するために、直接検索することは可能です。(現時点では。今後変わる可能性はあります。8系で試していますが、9.0でもまだアクセスできることは確認しました。)
.kibana
インデックスではtypeフィールドにSaved Objectの種類を示す値が格納されています。これを使って、特定のSaved Objectを検索することができます。
ML関連のSaved Objectのtypeは以下のようになっています。
- Anomaly Detection, Data Frame Analytics :
ml-job
- Trained Models :
ml-trained-model
ml-trained-model
のSaved Objectを検索してみましょう。
GET .kibana/_search
{
"query": {
"bool": {
"filter": [
{
"term": {
"type": {
"value": "ml-trained-model"
}
}
}
]
}
}
}
以下のような内容が取得できます。
{
"_index": ".kibana_8.11.1_001",
"_id": "ml-trained-model:tohoku-nlp__bert-base-japanese-v3",
"_score": 0,
"_source": {
"ml-trained-model": {
"model_id": "tohoku-nlp__bert-base-japanese-v3",
"job": null
},
"type": "ml-trained-model",
"references": [],
"managed": false,
"namespaces": [
"default"
],
"coreMigrationVersion": "8.8.0",
"typeMigrationVersion": "7.10.0",
"updated_at": "2024-02-27T06:50:32.951Z",
"created_at": "2024-02-27T06:50:32.951Z"
}
}
Spaceの関連付けの更新
KibanaのSaved Objectは、Spaceに関連付けられた状態で保存されます。これを更新するには、Update saved objects in spaces API を使用します。このAPIを使用すると、特定のSaved Objectを指定したSpaceに追加(あるいは削除)することができます。
よくある操作として、アップロードしたモデルを複数のスペースで使いたいというものがあります。KibanaのTrained Modelsの画面上からはできないので、Dev Toolsを利用して以下のようにKibana APIを利用して変更します。
POST kbn:/api/spaces/_update_objects_spaces
{
"objects": [
{
"id": ".elser_model_2_linux-x86_64",
"type": "ml-trained-model"
}
],
"spacesToAdd": [
"default",
"test"
],
"spacesToRemove": []
}
id
にはドキュメントのIDではなく、モデルのid(ml-jobの場合はjob_id
)を直接指定します。
このようにKibanaのAPIを利用することで、Saved ObjectのSpaceの関連付けを変更することができます。これにより、特定のSpaceに関連付けられたSaved Objectを他のSpaceでも利用できるようになります。
まとめ
ElasticsearchのML関連の機能は、KibanaのSaved Objectを介してSpaceに関連付けられています。これを変更するためには、KibanaのUpdate saved objects in spaces API を利用します。
特定のスペースで作成したML関連のオブジェクトを他のスペースで利用したい場合には、この記事を参考にしてください。