2016-08-04 24 views
2

を取得しませんindex(elasticsearch)のコンテンツフィールドに追加します。クロールのNutchのクローラは、私はリンクからニュース記事をクロールしようとしていたニュース記事の内容

成果は以下のとおりです。 -

{ 
    "took": 2, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 2, 
    "max_score": 0.09492774, 
    "hits": [ 
     { 
     "_index": "news", 
     "_type": "doc", 
     "_id": "http://www.bloomberg.com/press-releases/2016-07-08/network-1-announces-settlement-of-patent-litigation-with-apple-inc", 
     "_score": 0.09492774, 
     "_source": { 
      "tstamp": "2016-08-04T07:21:59.614Z", 
      "segment": "20160804125156", 
      "digest": "d583a81c0c4c7510f5c842ea3b557992", 
      "host": "www.bloomberg.com", 
      "boost": "1.0", 
      "id": "http://www.bloomberg.com/press-releases/2016-07-08/network-1-announces-settlement-of-patent-litigation-with-apple-inc", 
      "url": "http://www.bloomberg.com/press-releases/2016-07-08/network-1-announces-settlement-of-patent-litigation-with-apple-inc", 
      "content": "" 
     } 
     }, 
     { 
     "_index": "news", 
     "_type": "doc", 
     "_id": "http://www.bloomberg.com/press-releases/2016-07-05/apple-donate-life-america-bring-national-organ-donor-registration-to-iphone", 
     "_score": 0.009845509, 
     "_source": { 
      "tstamp": "2016-08-04T07:22:05.708Z", 
      "segment": "20160804125156", 
      "digest": "2a94a32ffffd0e03647928755e055e30", 
      "host": "www.bloomberg.com", 
      "boost": "1.0", 
      "id": "http://www.bloomberg.com/press-releases/2016-07-05/apple-donate-life-america-bring-national-organ-donor-registration-to-iphone", 
      "url": "http://www.bloomberg.com/press-releases/2016-07-05/apple-donate-life-america-bring-national-organ-donor-registration-to-iphone", 
      "content": "" 
     } 
     } 
    ] 
    } 
} 

当社がコンテンツフィールドが空であることに気づくことができます。私はnutch-site.txtでさまざまなオプションを試しました。しかし、結果は変わりません。これで私を助けてください。

答えて

3

なぜナッチが記事の内容を抽出できなかったのか分かりません。しかし、私はJsoupを使ってこれを回避する方法を見つけました。私は、ドキュメント全体を解析し、パーサフィルタから返されたParseResultの解析テキストを設定するカスタムの解析フィルタプラグインを開発しました。

document = Jsoup.parse(new String(content.getContent(),"UTF-8"),content.getUrl()); 
    parse = parseResult.get(content.getUrl()); 
    status = parse.getData().getStatus(); 
    title = document.title(); 
    parseData = new ParseData(status, title,parse.getData().getOutlinks(), parse.getData().getContentMeta(), parse.getData().getParseMeta()); 
    parseResult.put(content.getUrl(), new ParseText(document.body().text()), parseData); 
1

ApacheのマニフェールドCFを使用してください。それは弾力的な検索と、なぜデータが索引付けされなかったのかを把握するために、より良い履歴を記録するコネクタを内蔵しています。ManifoldCFのコネクタセクションでは、コンテンツをどのフィールドに索引付けするかを指定できます。それはあなたの手を試す良いオープンソースの代替手段です。

+0

感謝:) - :そしてparse-plugins.xml

に構文解析HTMLプラグインを置き換えることによって、私のカスタム解析フィルタを使用それは何かのようになります。私はそれを見ます。 – Sachin

+0

私は、特定のdivや他のタグ内のリンクを選択し、そのリンクの内容を取得してそれらのインデックスを作成したいと考えています。マニホールドでこれを行うことができるかどうか – Sachin

関連する問題