0

自分でhtmlページをダウンロードして解析することでWEBTRECコレクションを作成しました。各TRECファイルには、Categoryフィールドが含まれています。そのコレクションで検索を実行するためにLuceneを使用してインデックスを作成するにはどうすればよいですか?この検索で​​は、ドキュメントを結果として返すのではなく、カテゴリを返すことができるという考え方です。

ありがとうございました!

4

1 に答える 1

1

HTML形式であるため、これは比較的簡単な作業です。したがって、Luceneでそれらにインデックスを付けることができます(Javaベースの擬似コード)

foreach(file in htmlfiles)
{
 Document d = new Document();
 d.add(new Field("Category", GetCategoryName(...), Field.Store.YES,  Field.Index.NOT_ANALYZED));
d.add(new Field("Contents", GetContents(...), Field.Store.YES, Field.Index.ANALYZED));

writer.addDocument(d);
writer.close();
}

GetCategoryName =は、カテゴリ文字列とGetContents(...)に対応するHTMLファイルのコンテンツを返す必要があります。タグからHTMLコンテンツを解析することは、いくつかの方法で行うことをお勧めします。HtmlParserは1つです。

検索するときは、コンテンツフィールドを検索し、検索結果を繰り返し処理してカテゴリを収集します。

カウントが添付されたカテゴリ(「ファセット」)のリストを取得する場合は、ファセット検索を調べてください。Solrは、Luceneを使用して構築された検索サーバーであり、これをすぐに使用できます。

于 2012-05-19T06:21:42.060 に答える