2

これは必ずしも dtSearch 固有の質問ではありません (たとえば、fts エンジンの質問に似ています) が、複数のページで構成されるドキュメントをインデックス化し、ページ レベルのヒット結果を取得する方法を扱います。

私はグーグルで検索しましたが、何も見つかりませんでした。したがって、私の質問は次のとおりです。

m 本からスキャンされた n 個の tiff ページがたくさんあります。それらをOCRし、全文索引を付け、検索を実行します。

検索結果を書籍レベル (たとえば、検索結果に 1 冊の本が含まれている必要があります) にするだけでなく、ページ レベルで見つかったアイテムを取得できるようにすることも必要です (ヒットの強調表示を効率的に実行できるようにするためです。SomeTermはページ 1、ページ 2、およびページ 7 で見つかりました)。

そして、ここに問題があります:

  • ページのテキストを一度に 1 つずつ索引付けし、BookA の Page1 に用語 Term1 が含まれ、同じくBookAの Page2 に用語Term2が含まれている場合、検索Term1 AND Term2 では結果が得られません。これは正常です。
  • すべてのページのテキストを 1 つの大きなテキスト ブロックにまとめ、すべてが同じ本に属している場合、見つかった用語が属するページを取得することはできません。

dtSearch デスクトップには、PDF のインデックス作成機能があります。1 つのドキュメントからすべてのページのテキストをインデックス化できますが、%%Page%% 記号を使用して、ヒットが発生したページを特定することもできます。

カスタム DataSource を使用してインデクサーにフィードしていますが、目的の結果を得るために使用するドキュメントの構造を特定できません。

他の fts エンジン (Lucene/Sphinx など) を使用している場合、上記の問題にどのように取り組みますか (同じことを繰り返すリスクがあります):

  1. ページのコンテンツをインデックスする必要があります
  2. ページはドキュメントに論理的にグループ化されます
  3. 書類による結果取得が必要
  4. ハイライト結果にはページ番号が含まれている必要があります

提案をありがとう、ジョージ

PS: 長文すみません

4

2 に答える 2

1

長い間 dtsearch を使用していたので、ページ付きの pdf ファイルを生成してインデックスを付けることで、基本に立ち返ることができると思います。このファイルの各ページは、書籍の ocr テキスト ページに対応しています。

このようにして、検索エンジン技術から完全に独立し、よく知られている pdf 形式で最高のパフォーマンスを発揮できるようにします。

あなたのインデックスは無意味な 1 ページの文書であふれてしまうことはありません。

これが役に立てば幸いです。私の壊れた英語で申し訳ありません

于 2012-05-23T09:57:06.097 に答える
0

ブルート フォース アプローチは、2 種類のインデックス付きドキュメントを用意することです。

  • ページのテキスト、ページ番号、本の名前、およびこれがページ レベルのドキュメントであることを示すフラグを含むページ レベルのドキュメント。
  • ブックのテキスト、ブックの名前、およびブック レベルのドキュメントであることを示すフラグを含むブック レベルのドキュメント。

最初に書籍レベルのドキュメントのみを検索して、一致する書籍を見つけます。次に、一致する本をページ レベルのドキュメントのみで検索して、一致するページ レベルのドキュメントを見つけます。これにより、「termX と termY はブック Z に表示され、termX は 2、47、および 293 ページに表示され、termY は 1、3、5、および 293 ページに表示される」と言うことができます。

このアプローチの欠点の 1 つは、各ページのコンテンツを 2 回索引付けすることになります。

于 2012-05-22T11:50:46.207 に答える