自社ウェブサイトのページを対象にしたセマンティック検索システムを作りたい

トピック作成者:Solrで実験中 (2024/09/06 08:29 投稿)
2
OpenOpen

こんにちは。
KandaSearchを使って、自社ウェブサイトの全ページを対象にセマンティック検索を行いたいと思っています。

システム構成案

graph TB
    Webサイトと検索窓-->セマンティック検索用インスタンス
    Webページクローラー-->Webサイトと検索窓
    subgraph KandaSearch
    Webページクローラー-->セマンティック検索用インスタンス
    end
    subgraph 自社サイト
    Webサイトと検索窓
    end

やりたいこと

  1. 自社ウェブサイトの約500ページを対象にしたセマンティック検索。
  2. 検索窓はその自社ウェブサイトに設置する。
  3. 検索窓に文字を入力し「検索」ボタンをクリックすると検索結果としてページタイトルが検索結果ページで表示され、それクリックすると当該ページが表示される。

環境的なこと

  1. ウェブサイトは、共有レンタルサーバーで独自ドメインで公開中。
  2. ページはほとんどが静的HTMLで、検索対象ページはクロールできる範囲でOK。
  3. レンタルサーバーではPHP、Pythonが利用可能。自社でそれらを使ったプログラミングも可能。
  4. レンタルサーバーではcronが利用可能。

KandaSearchの契約等

  1. スタンダードEntryプランの契約。
  2. Webページクローラーは無料のものを使う。無料版の制約的な部分はそれでOKとする。

ここからが質問です。
セマンティック検索用のフィールドのスキーマ定義と、ドキュメントに記載されているEmbeddingsProcessorFactoryの定義をSolrコンフィグに行ったコレクションがあるとします。

Q1.無償のWebページクローラーを使用してのベクトル計算はどのタイミングで行うのでしょうか?
それとも、無償のWebページクローラーを介したクロールではベクトル計算を行うことは難しいでしょうか?(当方、Solrは詳しくありません。javaも書けません)

Q2.Q1が「できない」場合は、クローラーを自前で用意するなどしてインデクシング用のドキュメントを準備し、EmbeddingsProcessorFactoryを使ってベクトル計算&インデクシングを行うアプリやスクリプトを自社ウェブサイト上などに作り実行すれば実現できるのでしょうか?

Q3.ドキュメントによれば「EmbeddingsProcessorFactoryは、少量のインデクシング時ベクトル計算を行うのに向くApache SolrのUpdateRequestProcessorです」とあります。今回の用途では使えないのでしょうか?

よろしくお願いします。

返信投稿者:kojisays (2024/09/26 09:24 投稿)

Q1.無償のWebページクローラーを使用してのベクトル計算はどのタイミングで行うのでしょうか?

クローラーから1ページずつHTMLがSolrにPOSTされますが、そのときSolr側にて、記載していただいたEmbeddingsProcessorFactoryがベクトル計算を行います。

Q3.ドキュメントによれば「EmbeddingsProcessorFactoryは、少量のインデクシング時ベクトル計算を行うのに向くApache SolrのUpdateRequestProcessorです」とあります。今回の用途では使えないのでしょうか?

まずはやってみてください。クローラーからのPOSTの頻度が高いと、EmbeddingsProcessorFactoryから見て「少量のインデクシング」の範囲を超えてしまう可能性があります。クローラーからのPOSTの「速度」を調整するのは難しいので、その場合はクロールしたHTMLのセットをどこかに貯めておき、KandaSearchの拡張機能にあるセマンティック検索に必要なベクトルデータ作成用のスローインデクシングツールを使って「ゆっくりと」インデクシングすればEmbeddingsProcessorFactoryでも充分に動作します。

返信投稿者:Solrで実験中 (2024/10/01 08:06 投稿)

kojisays様

ご回答ありがとうございます。
いろいろ試してみたいと思います。

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?