Data Import Handlerを使用するためのSolr構成ファイルの設定

トピック作成者:ks-solruserml-bot (2024/12/28 18:59 投稿)
1
OpenOpen

(The bot translated the original post https://lists.apache.org/thread/r3r1nw13rwqjgqtp6jf85dbvy3h0d72j into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

こんにちは:

リストとApache Solrを使い始めたばかりです。Linux Ubuntu 22.04でバージョン9.7.0を試しています。複数のPDFファイルをインデックス化し、Tikaを使って分析したいと思っています。

Solr管理パネルから以下のパスにCOREを作成しました:

/home/myuser/APPS/solr-9.7.0/server/solr/configsets/CORE

インポートするPDFドキュメントのソースは以下のパスにあります:

/home/myuser/documentos/Doc_solr/

以下の3つのファイルを設定しました:

  • managed-schema.xml: PDFメタデータのフィールド定義

    • <field name=> メタデータとテキスト
  • solrconfig.xml

    • <requestHandler name="/select" class="solr.SearchHandler">
    • <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  • tika-data-config.xml

    • <entity name="pdf" processor="TikaEntityProcessor">
    • <entity name="file" processor="FileListEntityProcessor">

データインポーターの設定用にdataimporter.xmlのような別のファイルを作成する必要がありますか?
その場合、何を含めるべきでしょうか?

よろしくお願いします。

返信投稿者:ks-solruserml-bot (2024/12/28 19:00 投稿)

データインポートハンドラー(DIH)は現在Solrに含まれていないため、以下のディスカッションボードで質問するのも良いかもしれません:
Data Import Handler Discussions

データインポートハンドラーは、小規模で単純なデータベースをインデックス化するための適切なツールですが、システムの複雑さが増すにつれてスケールしにくくなります(データ量が増加しても、システムの複雑さが低いままであれば、比較的良好に機能します)。Solrは基本的にDIHから直接データを受け取るため、データの整形、結合、または強化はすべてデータベース内で行う必要があります。これは非常に複雑なクエリ、ストアドプロシージャ、または単純なテーブルにSolr向けの整形済みデータを複製する二次的なプロセスによって実現されます。Solr内でTikaを使用した分析も、スケールしにくい機能です。Tikaは多様なデータ形式を処理できますが、その処理にはコストがかかり、インデックス作成中にシステムのリソースを消費して検索クエリ処理の競合を引き起こします。システムがスケールするにつれ、Tikaによる分析を別の事前処理プロセスに移動する必要性がほぼ確実に生じます。

PDFがデータベースに保存されている場合、DIHはある程度有用である可能性があります。ただし、実験的に使用する場合や、長期的にデータセットが小規模であることが分かっている場合にのみ役立ちます(例:100万行未満のデータベース行、結合が非常に少ない、変換が必要な日付やフィールドがあまりない場合)。DIHを使い始めたユーザーの多くは、やがてその範囲を超えたシステムに成長します。そこからDIHをサポートしている複雑なデータベースインフラストラクチャを移行することは、しばしば高コストです。

PDFがファイルシステム内に保存されている場合、DIHを使用する理由はほとんどありません。

(ここから宣伝です 😉)

上記の問題やその他の課題に対応するために、私はJesterJを開発しました。
JesterJは、検索インデックス構築用の無料かつオープンソースのフレームワークです。1.0バージョンはすでにリリースされており、以下のGitHubリポジトリにSolrリファレンスガイドのローカルコピーをクロールしてインデックス化する例があります:
Index Solr Reference Guide

このプロジェクトには、Tikaを使用する例も含まれています(デフォルト設定ではカスタマイズが必要です)。単なる例なので、検索をより良くするためにできる多くのことは含まれていませんが、指示に従えばリファレンスガイドの内容に対応する結果をローカルSolrで得ることができます。リリースして発表しましたが、実際に試してくれる人を見つけるのに苦労しています。おそらく、多くの人がすでに何らかのインデックスソリューションを導入しているためです。しかし、私の意図の1つは、Solrを学び始めた人でも使えるフレームワークを構築することであり、これがエピックスケールに成長するまでのサポートを提供することです。

もしJesterJを試していただけたら、良かった点や改善が必要な点を教えてください。ファイルシステムスキャナがあり、ディレクトリ内のドキュメントをクロールして処理プランにフィードできます。ほとんどのプランの最後のステップは「Solrに送る」ことです。検索データ用のETLのように考えることができますが、検索データはデータベースデータとは異なるため、従来のETLとは少し異なる形になります。もちろん、質問があればJesterJのGitHubディスカッションフォーラムやDiscordチャンネルでお聞きください。

-Gus

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

KandaSearch

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

投稿の削除

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