Nutch によってクロールされたフェッチされたコンテンツを solr にインデックス化する必要があります。ナッチ インデックスの Solrjob は、コンテンツのみを解析します。そして、すべての HTML タグを含むコンテンツが必要です。誰でもこれについて私を案内できますか?
ありがとう
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 コンテンツが表示されるはずです。
ノート: -
メタタグ プラグインが有効になっていることを確認してください。基本的に未加工のコンテンツをメタデータとして保存しているため、これは重要です。