@johtaniの日記 3rd

@johtani's blog 3rd edition

ElasticsearchのRetrieverについて調べたので雑にメモ

ElasticsearchにRetrieverという仕組みが8.16でGAしたので、ざっくり調べた時のメモを残しておこうかなと。 ElasticsearchのRetriever Retrieverという検索の機能が8.16でGAリリースされた。

Elasticsearchの新しいJavaクライアント(2024年3月版)

以前、Elasticsearchの新しいJavaクライアントについてブログを書きました。 あれから、ほぼ2年経ちましたが、差分を調べたのでブログに残しておきます。 前回の問題点 前回のブログを書いている時点では、2点ほど気になることがありました。それぞれ解決しているので、まずはその紹介をしようと思います。

機械学習による検索ランキング改善ガイドを読みました

「機械学習による検索ランキング改善ガイド」を読みました。 著者の鈴木さんより献本いただいたのを読み終わったのでレビューと、あとおまけです。 紹介とレビュー どんな本なのか?は打田さんが書かれたブログ、「ブックレビュー:『機械学習による検索ランキング改善ガイド』 - Tomoko Uchida - Medium」に詳しく書かれているので、そちらも参考にしてもらうほうがわかりやすいと思います(丸投げ)。

ElasticsearchのアーキテクチャとStateless / Serverless

本記事は情報検索・検索技術 Advent Calendar 2022の9日目の記事です。 だいぶ間が空いてしまいましたが、日本語のオートコンプリートに関する記事の続きです。 という感じで、Suggesterのデータ構造とか仕組みを書こうと思っていたのですが、思ったよりも調べないといけないことが多くて挫折しました。。。 (これの続きは年末年始で調べて書くはず?)

ローマ字入力のゆれと読み(JapaneseCompletionAnalyzerその2)

前回は日本語用オートコンプリートのためのAnalyzerとして、どうやって使うのかを簡単に紹介しました。 今回はもう少し、いろんなパターンを試してみたいと思います。 ローマ字入力のゆれ 前回のサンプルでも「吾輩…」のデータをサジェストするためのサンプルとして、「wagah」という「わがはい」をローマ字にしたものを利用しました。

日本語用オートコンプリートのためのAnalyzer

風のうわさで、日本語用のオートコンプリートのためのTokenFilterとAnalyzerがLuceneに取り込まれたと聞きました(LUCENE-10102)。 Elasticsearchでも使えるかなぁ?ということで調べたところ(調べた?聞いた?)、どうやら8.1から利用できるようになっている(GitHub Issue #81858)みたいです(まだ、公式ドキュメントには記載がないのですが)。

Querqyの調査(その2:アーキテクチャ)

今回はQuerqyのElasticsearchのプラグインがどんなつくりになっているか?をちょっとだけ調べてみました。 SolrでもElasticsearchでも使えるという形なので、どんなつくりになっているのかな?と思ったのが発端です。

Querqyの調査(その1)

Querqyというクエリのリライト用のプラグインがあるのでどんなものかを調べてみました。とりあえずは概要をドキュメントから追いかけてみた感じです。対応しているのはSolrとElasticsearch(以降、Es)になります。手元にはEsの環境があるのでそちらで試してみました。 なにもの? EsやSolrのプラグインで、ルールやパラメータを利用して、クエリの書き換えをEsやSolr側で行えるプラグインです。 なお、本記事ではEsのプラグインを説明します。 今回はドキュメントを読みながらメモを取った感じなので、詳細については公式ドキュメントを見ていただくのが良いかと。 手元では動作させてみましたが、今回の記事ではざっとメモを取っただけになります。

Elasticsearchの新しいJavaクライアント

7.16で正式リリースされましたが、Elasticsearchの新しいJavaのクライアントが出ています。 使ってみたので、ちょっとだけ紹介でもしてみようかな。 このクライアントが出るまでは、ElasticsearchのJavaクライアント(REST版)はElasticsearch本体の一部として実装・管理されていました(Elasticsearchのリポジトリにあるclientディレクトリ)。

OData式と日本語の検索(NGram)とフレーズ検索

Azure Cognitive SearchにはOData式という書式で条件が書ける仕組みがあります。 ODataは検索条件($filter)やソート条件($orderby)、取得する項目名の指定($select)です。