2012-02-15 27 views
0

誰でも助けてくれますか?Luceneを使って行番号やページ番号を見つける方法

私のプロジェクトでは、ファイルのインデックス作成にluceneを使用しています。それは私に行番号とページ番号について言及していないファイル名と場所を与えるだけです。

Luceneで行番号またはページ番号を検索することは可能ですか?私にそれをする方法を助けてください。

+0

行番号またはページ番号は何ですか?あなたの質問にいくつかの情報を追加できますか? – javanna

+0

キーワードが見つかった結果ドキュメントのページ番号。 – Sreekanth

+0

使用している実際のコードを投稿できますか? – javanna

答えて

1

これはコメントが長すぎるため、私はちょうど答えにしました。

あなたはドキュメントのセットをgrepし、行番号とテキストとの一致を含む結果セットを得るgrep(* nixツール)出力を考えていますか? EG:

46: I saw the brown fox jumping over the lazy dog 

もしそうなら、Luceneはそのように動作しません。 OS上で、grepは簡単にするために、各文書を連続して開き、各文書内の内容の各行に対して指定されたパターンを実行します。したがって、それは、マシン上に存在するようにファイル上で動作しているため、前述のような出力を生成することができます。 Luceneは異なった動作をします。

Luceneでファイルを索引付けすると、Luceneは各文書の内容を効率的な構造に結合して、特定の情報を含む文書をすばやく検索して検索できるようにします(inverted index)。次に、Lucene Inverted Indexに対してクエリを実行すると、クエリーに一致したすべてのドキュメントの内部表現と関連性スコアが返され、ドキュメントの有用性を示す指標が表示されます。クエリ。これは、それ自身の内部逆索引構造に対して動作し、grepのような場所にあるすべてのファイルを反復処理するのではありません。 Luceneは行番号やページ番号を知らないので、Luceneを使ってgrepを複製することはできません。

+0

Newer Luceneは行番号とページ番号をサポートしています –

関連する問題