@johtaniの日記 3rd

@johtani's blog 3rd edition

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

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

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

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

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

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

Hugoをアップデートした

Hugoを0.84から0.92にアップデートをする際に、これまでのブログ記事やレイアウトファイルを修正したので個人的にメモを残しておきます。 なんでアップデート? うっかり魔がさして、メインのWSL2のUbuntuを20.04から22.04にアップグレードしました。。。 新規に22.04を落としてきて移行ではなく。 皆さんはまねしないほうがいいですよ! アップデートした後にGitの環境がおかしくなったりと大変でした。 WSL2のUbuntuではHugoでブログのビルド、いろんな確認のためのElasticsearchの起動、個人的なプログラムとかを書く環境として利用しています。

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

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

Querqyの調査(その1)

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

今年もオンラインでBerlin Buzzwordsに参加した

今年もBerlin Buzzwordsにオンライン出張してました。 今年はハイブリッドな開催だったようで、現地で再開している人もいるようでした。 ブースもあったみたいです。ちなみに、現地で参加する人はマスク必須のようでした(Health & Safetyというページが用意されていました)。 昨年オンラインだったMICESは現地のみでの開催みたいで見ることはできなかったです(録画公開されないかなぁ)。

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

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

インデックスエイリアス - Azure Cognitive Searchの新機能

Azure Cognitive Searchで2月に新しい機能が公開されました。 「Index Alias」(インデックスの別名)です。まだ、パブリックプレビューの段階ですが、ドキュメントなどが公開されていたのでどんな機能かを調べてみました。なお、本ブログの内容は2022/05/18時点での内容となります、ご注意ください。

Extreme Multi-label Learning for Semantic Matching in Product Searchという論文を読んだ

年末までに知り合いと次の論文を読んだので軽くまとめておきます。 Extreme Multi-label Learning for Semantic Matching in Product Search なんで読んだの? 前回読んだ理由と一緒ですが、Semantic Searchに絡んだ検索の論文であり、Amazonの製品検索での話も関係していたので読みました。