1

Nutch によってクロールされたフェッチされたコンテンツを solr にインデックス化する必要があります。ナッチ インデックスの Solrjob は、コンテンツのみを解析します。そして、すべての HTML タグを含むコンテンツが必要です。誰でもこれについて私を案内できますか?

ありがとう

4

2 に答える 2

2

Nutch には、取得した HTML からコンテンツを抽出する一連のパーサーとフィルターがあります。

HtmlParserFilter を実装し、生のコンテンツをメタタグに書き込み、それを SOLR フィールドに挿入する必要があります。

以下のチュートリアルはインデックス作成フィルターに関するものですが、同じフローに従います。

ナットプラグイン

クラスは、「IndexingFilter」ではなく「HtmlParseFilter」を実装する必要があります。filter() メソッドをオーバーライドします。

@Override
public ParseResult filter(Content content, ParseResult parseResult, HTMLMetaTags metaTags, DocumentFragment doc) {
    Metadata metadata = parseResult.get(content.getUrl()).getData().getParseMeta();
    byte[] rawContent = content.getContent();
    String str = new String(rawContent, "UTF-8");
    metadata.add("rawcontent", str);
        return parseResult;
}

その後、schema.xml を変更し、新しいフィールドを追加します。

<field name="metatag.rawcontent" type="text" stored="true" indexed="true" multiValued="false"/>

コンパイル、デプロイ、再クロール、再インデックス。

SOLR インデックスに生の HTML コンテンツが表示されるはずです。

ノート: -

メタタグ プラグインが有効になっていることを確認してください。基本的に未加工のコンテンツをメタデータとして保存しているため、これは重要です。

于 2013-05-14T20:23:02.327 に答える