Shinsuke Sugaya
shins****@yahoo*****
2012年 4月 27日 (金) 15:17:57 JST
菅谷です。 > jp.sf.fess, org.seasar.robot, org.seasar.robot.dbflute, jp.sf.fess.solr, > org.apache.commons.httpclient Fess では HttpClient 4 を採用しているので、パッケージは org.apache.http を指定する必要があります。 webapps/fess/WEB-INF/classes/log4j.xml に <logger name="org.apache.http" > <level value ="debug" /> </logger> を追加するのが良いかもしれません。 > また、ブラウザからアクセスした場合のレスポンス/リクエストヘッダ > は以下のようになります。 Fess でクロールしたときは別なものが返ってきている のではないでしょうか。上記のログでクロール時の レスポンスを確認すると切り分けができると思います。 > また、Transfer-Encoding が chunked だと問題があったりするでしょうか。 特に問題ないと思います。 よろしくお願いいたします。 shinsuke 2012年4月23日18:19 KOMINE Masako <Komin****@mss*****>: > 小峯です。 > > > jp.sf.fess, org.seasar.robot, org.seasar.robot.dbflute, jp.sf.fess.solr, > org.apache.commons.httpclient > のログレベルを "debug" にしてクロールを実行しました。 > > なかなかまとまらない質問で申し訳ないのですが > アドバイスいただければ幸いです。 > > > やったことの内容は以下の通りです。 > > 1. ログレベルを変更してクロールを実行。 > 2. MIME TYPEが "text/html" と判断されるページと "text/plain" と判断されるページがあった。 > 3. 上記2の理由のため、s2robot_rule.diconの "webHtmlRule" のルールに "text/plain" を追加した。 > 4. 再びクロールを実行。 > > 4. のログから > (1) MIME TYPEが "text/html" と判断される場合と "text/plain" と判断される場合がある > ※ 同じURLでも"text/html"となる場合と"text/plain"となる場合があります > ※ ブラウザからアクセスすると content-type は "text/html" です > (2) ルールが "webHtmlRule" であっても子のURLがクロールされない > > > (1) について > 以下は4のページクロール後の "insert into ACCESS_RESULT" 時のログです > (URLは書き換えてあります)。 > > ・MIME TYPE text/plain > [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.XLog - > /============================================================================= > [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.XLog - > AccessResultBhv.insert() > [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.XLog - > =======================/ > [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.XLog - DBDataServiceImpl.store():63 -> ... > [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.QLog - > insert into ACCESS_RESULT (SESSION_ID, RULE_ID, URL, PARENT_URL, STATUS, HTTP_STATUS_CODE, METHOD, MIME_TYPE, > CONTENT_LENGTH, EXECUTION_TIME, LAST_MODIFIED, CREATE_TIME) > values ('20120420141512-1', 'webHtmlRule', '【コンテキストURL】/xxxx/xxxxx/xxx/j', '【コンテキストURL】/xml > /sitemap.ja.xml', 0, 200, 'GET', 'text/plain', 41784, 5090, '2012-04-20 14:15:54.502', '2012-04-20 14:15:54.614') > > ・MIME TYPE text/html > [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.XLog - > /============================================================================= > [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.XLog - > AccessResultBhv.insert() > [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.XLog - > =======================/ > [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.XLog - DBDataServiceImpl.store():63 -> ... > [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.QLog - > insert into ACCESS_RESULT (SESSION_ID, RULE_ID, URL, PARENT_URL, STATUS, HTTP_STATUS_CODE, METHOD, MIME_TYPE, > CONTENT_LENGTH, EXECUTION_TIME, LAST_MODIFIED, CREATE_TIME) > values ('20120420141512-1', 'webHtmlRule', '【コンテキストURL】/xxxxxx/xxxxxxxxxx/xxxxxxxxxxxx/j', '【コンテキストURL】 > /xml/sitemap.ja.xml', 0, 200, 'GET', 'text/html', 31813, 97, '2012-04-20 14:15:49.657', '2012-04-20 14:15:50.156') > > また、ブラウザからアクセスした場合のレスポンス/リクエストヘッダ > は以下のようになります。 > > ・レスポンスヘッダソース > Connection Keep-Alive > Content-Language ja > Content-Type text/html;charset=UTF-8 > Date Fri, 20 Apr 2012 07:00:49 GMT > Keep-Alive timeout=15, max=100 > Retry-After Sun, 14 Jun 2009 6:00:00 GMT > Transfer-Encoding chunked > ・リクエストヘッダソース > Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 > Accept-Encoding gzip, deflate > Accept-Language ja,en;q=0.7,en-us;q=0.3 > Connection keep-alive > Cookie 【省略】 > Host 【ホスト】 > User-Agent Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0 > > > (2) について > 以下のような"add child" というログがあるので子URLのリストは作成されているようなのですが > [Robot-20120420141512-1-1] DEBUG org.seasar.robot.client.http.HcHttpClient - Accessing 【URL】 > [Robot-20120420141512-1-1] DEBUG org.seasar.robot.client.http.HcHttpClient - 【ホスト】/robots.txt is already visited. > [Robot-20120420141512-1-1] DEBUG org.seasar.robot.helper.impl.LogHelperImpl - Processing the response. Http Status: 200, > Exec Time: 97 > [Robot-20120420141512-1-1] DEBUG org.seasar.robot.transformer.impl.HtmlTransformer - Base URL: 【URL】 > [Robot-20120420141512-1-1] DEBUG jp.sf.fess.transformer.FessXpathTransformer - 【ホスト名なしの子URL】 -> 【子URL】 > [Robot-20120420141512-1-1] DEBUG jp.sf.fess.transformer.FessXpathTransformer - Add Child: 【子URL】 > > ・MIME TYPE が "text/html" の場合 > "add child" された子URLに対して > UrlQueueBhr, AccessResultBhvのselectCount()のあとに > UrlQueueBhv.batchInsert()が行われますが、このURLに対して > クロールが実行されません。 > > ・MIME TYPE が "text/plain" の場合 > "add child" された子URLに対して > UrlQueueBhv.batchInsert()が行われず、クロールも行われません。 > > > 以上の内容から設定の間違いや、ここを確認した方が良いといった > ことはありますでしょうか > (クロール対象のwebアプリケーションはリバースプロキシ下で動いているのですが、 > 同じアプリケーションをリバースプロキシなしの別の > サーバで動作させた場合は、(URL以外)同じウェブクロールの設定で > 正常にクロールできるので、ウェブクロールの設定には問題ないと > 思うのですが)。 > また、Transfer-Encoding が chunked だと問題があったりするでしょうか。 > > > よろしくお願いいたします。 > > --- > ■ 設定、環境など > ウェブクロールの設定は次の通りです > ・URL: 【コンテキストURL】/xml/sitemap.ja.xml > ・クロール対象とするURL: > 【コンテキストURL】/.* > ・クロール対象から除外するURL: > .*\.png$ > .*/png$ > .*/gif$ > .*\.gif$ > .*\.jpg$ > .*/jpg$ > .*/e$ > .*/e/$ > ・深さ: 5 > > Fessの実行環境は以下の通りです。 > OS: Red Hat Enterprise Linux6.2 > Tomcat: 7.0.23 > Fess: 5.0.1 > > クロール対象のWebアプリケーションは > apache+tomcatで動作しており、さらにリバースプロキシ下にあります > --- > > (2012/04/17 11:23), KOMINE Masako wrote: >> 小峯です。 >> >> ご回答ありがとうございます。 >> 今すぐ確認できる環境にないのですが、 >> 次の機会にやってみようと思います。 >> >> >>> 菅谷です。 >>> >>> http://fess.sourceforge.jp/ja/6.0/config/logging.html >>> >>> ログレベルを debug などで確認するのが良いと思います。 >>> org.apache.http 以下あたりを debug にすると >>> HttpClient 関連のやり取りが確認できると思います。 >>> >>> よろしくお願いいたします。 >>> >>> shinsuke >>> >>> >>> 2012年4月16日17:09 KOMINE Masako<Komin****@mss*****>: >>>> はじめまして。小峯と申します。 >>>> >>>> サイトマップを使用して、サイトをクロールさせようとしているのですが、 >>>> クロールはされるものの、webページとしてではなく、 >>>> 何かのファイルとして処理されてしまいます。 >>>> >>>> そのページに含まれるリンク先にクロールに行かず、 >>>> 検索結果で表示されるコンテンツタイトルに >>>> URLの最後の部分が表示されるため、そう判断しました。 >>>> また、このサイトには静的なページと動的に作成されるページとがあって >>>> 静的なページをサイトマップを使用せずにクロールさせると、 >>>> こちらはhtmlとして処理されます。 >>>> どちらの場合も「ウェブクロールの設定」で「深さ」は5に設定していました。 >>>> >>>> クロール対象のページのURLは"http:"で始まり、 >>>> wgetコマンドでアクセスすると、 >>>> "Content-Type: text/html;charset=UTF-8" >>>> で応答があるため、s2robot_rule.diconのデフォルトの設定で >>>> htmlとして処理されそうな気がします。 >>>> >>>> fess_crawler.outを見てもエラーらしき出力は見つけられません。 >>>> >>>> どのような原因が考えられるか、お心当たりがありましたら >>>> お教え願えるでしょうか。 >>>> >>>> よろしくお願いいたします。 >>>> >>>> _______________________________________________ >>>> Fess-user mailing list >>>> Fess-****@lists***** >>>> http://lists.sourceforge.jp/mailman/listinfo/fess-user >> >> _______________________________________________ >> Fess-user mailing list >> Fess-****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/fess-user >> >> > > > -- > 小峯 政子 (KOMINE Masako) > > 三菱スペース・ソフトウエア(株) > 第四技術部 第三グループ > e-mail: Komin****@mss***** > tel: 029-859-0312 / fax: 029-859-0322 > > _______________________________________________ > Fess-user mailing list > Fess-****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/fess-user