Jakarta ProjectのJavaで書かれたテキスト全文検索エンジン。 Senと組み合わせると日本語もちゃんとハンドリングできる。
読み方に関しては、「るしーん」「るせーぬ」という説もあるが、 http://www.mail-archive.com/lucene-user@jakarta.apache.org/msg04495.html によれば、「Loo-Seen」だそうだ。
検索エンジンチームの加藤宏脩です。 今回は、LIFULLの検索エンジンであるSolrのバージョンアップについて紹介します。 Solrを含むミドルウェアの最新バージョンへのアップデートには多くの工夫と努力が必要です。 この記事では、私たちがLIFULL HOME`Sを支える物件検索エンジンのバージョンアップにどのように取り組んでいるのか、またv9.2.1へのバージョンアップ対応の詳細ついて紹介します
エムスリーエンジニアリンググループ AI・機械学習チームの中村(@po3rin) です。 好きな言語はGo。仕事では主に検索周りを担当しています。 エムスリーでは検索エンジンとしてElasticsearchを利用しているのですが、Highlightingのフラグメント機能でとある問題が発生しました。その問題を解決する中でElasticsearch Highlighting の内部的な仕組みを理解することの重要性を改めて感じました。 今回はエムスリーで発生した問題の共有からはじめ、どのように解決したのかはもちろん、Elasticsearch Highlighting の内部的な仕組みも一部紹介し…
はじめに こんにちはiimonでエンジニアをしているhogeです。 最近ElasticSearchを勉強する機会がありました。アウトプットのためにElasticSearchに関する基礎的な知識を学びながら、OpenSearchとLambdaで物件検索APIを作ろうと思います。 AWSリソースは検証用のために簡易的に作ったため、本番環境では推奨されない設定が含まれますが、ご了承ください。 ElasticSearchとは ElasticSearchはElastic社が開発するApache Luceneを基盤とした検索エンジンです。ElasticSearchは以下の特徴を持ちます。 高速な全文検索や…
まもなく17周年を迎えるpixivでは、長年にわたり作品などの全文検索基盤としてApache Solrを使用してきました。 しかし、サービスの規模が拡大する中で、従来の基盤に問題が生じていました。これを受けて、pixivでは全文検索基盤のリプレイスを実行しました。 今回のリプレイスにより、pixivでは検索結果の更新反映時間や検索APIのレイテンシが大幅に短縮されました。また、今後のスケールに対応可能になり、新機能開発においても全文検索が容易に利用できるようになりました。 本記事では、pixivの全文検索基盤の歴史や、今回オンプレミス環境でElasticsearchクラスタを構築し、リプレイス…
www.itmedia.co.jp ⇧ とりあえず、「サードパーティCookie廃止」を見送った理由が、 技術的には実現できているが導入しない 技術的には実現できていないので導入できない のどちらなのかはハッキリさせて欲しいですな... レコード数が多くなれば検索が遅くなる、とはいえ、どうすれば良いのか 「RDBMS(Realtional DataBase Management System)」で大量のレコード数を扱っているシステムで問題とされてきた検索における性能問題。 決済システムなどは、厳密な整合性が求められるからして、「RDBMS(Realtional DataBase Managem…
これは、なにをしたくて書いたもの? 少し前にApache Luceneでベクトル検索(kNN検索、ANN)を試してみました。 Apache Luceneでベクトル検索(kNN検索)を試す - CLOVER🍀 Apache LuceneでkNN検索とANN+HNSWを使い分ける(Codecを使ったHNSWのパラメーター設定付き) - CLOVER🍀 今度はElasticsearchで試してみたいと思います。 Elasticsearchのベクトル検索 Elasticsearchのベクトル検索に関するドキュメントはこちら。 k-nearest neighbor (kNN) search | Elas…
こんにちは!TECH Street編集部です! 2024年4月1日(月)に開催した、 「アプリケーション開発エンジニア勉強会」のイベントレポートをお届けします。今回は3社のアプリケーション開発に携わるエンジニアが集まり、それぞれの知見を発表し、学びあう勉強会を開催しましたので、その様子をレポートいたします。 登壇者はこちらの方々! Seiya Umemoto / パーソルキャリア株式会社azukiazusa / 株式会社はてな今枝 / 株式会社オプティム 早速、内容を紹介いたします! Azureで社内文書から回答可能な生成AIチャットサービスを作った話 目次 はじめに 社内向けチャットサービス…
これは、なにをしたくて書いたもの? Infinispan 15.0.0.Finalからベクトル検索ができるようになったので、試してみたいなということで。 Infinispan 15.0のベクトル検索 Infinispan 15.0のベクトル検索の情報は、ブログエントリーに出てきます。 まずはInfinispan 15.0.0.Finalのリリースブログエントリー。 Infinispan 15.0.0.Final こちらはクエリーのみですが、インデックスにベクトルを保存するためのマッピングの書き方などはリリース前から少し出ています。 Infinispan kNN Vector Search ドキ…
本記事はデータ・検索システムのインダストリアルなカンファレンスとして有名なBerlin Buzzwordsとそれに付随して開催されたMICESに参加してきた体験記です。 bbuzz会場 面白かったセッション Learning to Rank for Reddit Search - A Project Retro Hybrid Search with Apache Solr Reciprocal Rank Fusion Rediscover your keyword search: Expand, Enrich and Rewrite Lessons learned writing 10+ Ku…
これは、なにをしたくて書いたもの? Jakarta EE PlatformおよびProfileとMicroProfileのBOMなどについて、少しまとめておきました。 Jakarta EE PlatformおよびProfileとMicroProfileのJARとBOMについて - CLOVER🍀 こういうのを書くと、実装側のBOMも知りたくなるのですが。今回はWildFlyを見ていこうと思います。 WildFlyのBOM 「WildFly BOM」あたりで調べると、すぐに以下のリポジトリーが見つかると思います。 GitHub - wildfly/boms: Various Useful Wil…
これは、なにをしたくて書いたもの? 前にApache Luceneでベクトル検索(kNN検索)を試してみました。 Apache Luceneでベクトル検索(kNN検索)を試す - CLOVER🍀 この後でANNに関係するHNSWのパッケージやクラスがあるのを見つけたので、今回はこちらを扱ってみたいなと思いまして。 kNN検索、ANNとHNSW 前回使ったのはkNN検索でした。これはQdrantの時にも扱いました。 Qdrantのチュートリアルから、「検索品質を測定する(Measure retrieval quality)」を試す - CLOVER🍀 あらためて内容を書いておきます。 k近傍法(…
こんにちは、 pakioです この度5/31にLegalOnさんのオフィスで開催された Search Engineering Tech Talk 2024 Spring (検索技術勉強会)に参加、縁あって初めて勉強会の運営側に携わらせていただいたのでその記録です。 search-tech.connpass.com 検索技術勉強会自体は検索エンジニアとしてキャリアをスタートした2019年から参加しており、前回2023年12月には登壇もさせていただいた勉強会で、個人的に思い入れがある会でした。 前回登壇時の記事はこちら => hit-the-sack.hatenablog.com 前回の勉強会後に…
pre.code{ white-space: pre; overflow-x: scroll; } こんにちは、LegalOn Technologiesでエンジニアをしている神田(@kampersanda)です。 この記事の内容 Elasticsearch の Character Filter でユニコード正規化を適用したとき、Tokenizer の結果によってはトークンのオフセットに不正な値が入るバグが報告されています。 github.com 頻繁に起こるケースでは無いのですが、実際にデータを Elasticsearch に取り込む際に発生しており、恒久的な対応が必要です。本記事では、そのバ…
はじめに 以前、弊社より以下の記事を紹介させていただいておりました。 1. Azure OpenAI Serviceで社内版ChatGPTのChatPCAを構築した話 2. Azureで社内文書から回答可能な生成AIチャットサービスを作った話 今回は、以前紹介させていただいたChatPCA*1の社内文書検索機能において、Azure AI SearchのRAGの精度向上の取り組みについてお話しさせていただきます。 そちらにあたって、パーソルキャリアにおける生成AIチャットサービスの概要について気になる方は、まず上記の記事を一読いただけたらと思います。 Azure AI Searchは、Elast…
はじめに 本記事では、Azure環境で、社内文書から情報を抽出し、ユーザーの質問に対する回答を生成する機能を開発した件についてお話しします。 以前以下の記事でリリース当初の話を記載しているので興味のある方はご覧ください。 Azure OpenAI Serviceで社内版ChatGPTのChatPCAを構築した話 目次 リリースの背景 結論 概要の説明 取り組んだこと 今後の課題 まとめ 注釈 リリースの背景 弊社では兼ねてより社内イントラ用のボットサービスが利用されていました。 ただ、こちらはルールベースで読み込ませた定型の資料内容以外のことには回答ができないものとなっていました。 そのため、…
これは、なにをしたくて書いたもの? 前に、こういうエントリーを書きました。 Apache Luceneでベクトル検索(kNN検索)を試す - CLOVER🍀 自分はApache Luceneで簡単なプログラムを書く時に、インデックスの保存先をインメモリーにすることが多いのですが、その用途で いつも使っていたRAMDirectoryがなくなっていてちょっと困ったので。 今はByteBuffersDirectoryを使うのがよさそうです。 Apache Lucene 9.0.0でのRAMDirectoryの削除 RAMDirectoryが削除されたのは、Apache Lucene 9.0.0のよう…
これは、なにをしたくて書いたもの? ElasticsearchやApache Solrではベクトル検索ができるようです。となると、Apache Luceneにその基礎があるはずなので、ちょっと 見ておこうかなと思いまして。 今回はkNN検索を対象としているのですが、ANNに切り替わることについては別エントリーで書いています。 Apache LuceneでkNN検索とANN+HNSWを使い分ける(Codecを使ったHNSWのパラメーター設定付き) - CLOVER🍀 KnnByteVectorField、KnnFloatVectorField、VectorSimilarityFunction、K…