これは必ずしも 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 など) を使用している場合、上記の問題にどのように取り組みますか (同じことを繰り返すリスクがあります):
- ページのコンテンツをインデックスする必要があります
- ページはドキュメントに論理的にグループ化されます
- 書類による結果取得が必要
- ハイライト結果にはページ番号が含まれている必要があります
提案をありがとう、ジョージ
PS: 長文すみません