UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

Elasticsearch

【Elasticsearch】特定のクエリに一致するドキュメントをすべて削除する

Elasticsearchのある時点以前のデータを全て削除したい 具体的にはクエリで以下にマッチするデータを削除したい "query": { "range": { "startDateTime": { "lte": "2020-03-07T23:55:03.399Z" } } } } このやり方を調査した やり方 _delete_by_queryを使う …

【Elasticsearch】日付ごとにindexを作るパターンの基本操作

いままでElasticsearchのシングルindexでデータをためていたが、どんどん肥大化していき古いデータの更新や本番環境へのsnapshot/restoreがそろそろ辛くなってきたため、日付ごとにindexを変えてためる運用を始めた よくログとかではこのパターンを使うよう…

【Elasticsearch】restore後にindexがUNASSIGNEDのままになる

restoreを実行後にずっとUNASSIGNED のままactiveにならずに困ってしまった 結果的にインデックスを一度削除して、もう一度restoreしたら解消したので原因不明なのだが、調査中にみた以下の記事が有益だったのでまとめておく www.datadoghq.com Elasticsearc…

【Elasticsearch】緯度経度を使って検索する

ホテルなどの宿泊施設をGoogle Map 上にマーカーを表示することを考えたとき、 Google Mapの中心を動かすと同時に(または何かボタンを押して)その四隅の緯度経度内にはいる施設を再検索をしたい これを実現するためにElasticsearchのGeo-bounding box quer…

【Elasticsearch】 [FORBIDDEN/12/index read-only / allow delete (api)]が出た

Elasticsearchを使っていて、以下のエラーが吐き出され更新ができなくなった blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];" stack overflowによるとディスクの使用率が危険な場合に発生するエラーで、 index.blocks.read_only_allow_d…

【Elasticsearch】JavaでMulti-Search APIを使う

JavaでMulti-Search APIを使いたい www.elastic.co MultiSearchRequestインスタンスを用意して、通常のSerachRequestをaddしていけばよさそう MultiSearchRequest multiSearchRequest = new MultiSearchRequest(); SearchRequest firstSearchRequest = new S…

【Elasticsearch】Field Collapsingについて

トリバゴのように一つのホテルの価格を複数のサービスで比較をすることを考えるとき 検索結果はホテルをあるソート順(おすすめ順)で並べた上で、さらに各ホテルの中で比較したいサービスがあるソート順(価格低い順)に並んでいるようにしたい これを実現…