2012-01-17 9 views
1

テキストを含む一連のドキュメントがある場合、フレーズを検索してすべての一致を返してランク付けしたいと思います。私はlucene/solrにどの文書が一致するかを示す方法を知っていますし、文書内で強調表示しますが、同じ文書からの複数の一致を含むランキングを取得するにはどうすればよいですか?luceneのインデックス付きドキュメントでの複数のフレーズ一致の検索とランク付け

2nd document -> ...This "text line" is quite short. 
1st document -> ...It has a single "line of text". 
2nd document -> ...another "line containing more text" and is... 

これが可能である:

First document. It has a single line of text. 
Second document. This text line is quite short. 
This is another line containing more text and is a bit longer. 

は、私はその後、私は次のようにランク付けし、3試合を見つけたいのですが、 "テキスト行" で検索した場合?どうやって?

+0

私はもともとこれを含め、より複雑な問題を、持っていた、ここに:http://stackoverflow.com/questions/8883390/obtain-metadata-associated-with-matched-content-in-solr-lucene –

+0

なぜあなたは結果でdocument2を2回欲しいのですか?あなたは文書として各行にインデックスを付ける必要があります... – naresh

+0

これは、私が言ったことです。 – milan

答えて

-1

1行に1つずつ一致させたい場合は、各行を独自の文書にします。 「文書」という言葉を、実際にそのテキストが単一のファイルであるかどうかと混同しないようにしてください。

ファイルへのリンクを維持したい場合は、別の(格納されている)フィールドにidをインデックスするだけです。

{ id: "myfile.txt", 
    text: "first line" } 

{ id: "myfile.txt", 
    text: "second line" } 
+0

私はファイルについて実際には話していません - 私はluceneドキュメントについて話しています。 –

+0

私は実際には複数の行にまたがるフレーズを検索できるようにしたいので、それ自身のドキュメントを作成するのはうまくいかない理由です。各行が別々のルーメン文書である場合、それは不可能です。 –

関連する問題