Fóruns: 【移行しました】サポート (Thread #35432)

差分クロールができない (2014-05-12 14:09 by saburota #72984)

いつもお世話になっております。

差分クロールのチェックボックスをONにしても、差分クロールが働かないのですが、解決方法など情報いただけないでしょうか?

対象ファイルはhttpサーバに置かれたPDFファイルなのですが、差分クロールのチェックボックスをONにしても、毎回全てクロールされてしまいます。

>差分クロール
>
>差分クロールを有効にすると、lastModifiedフィールドの値と対象ドキュメントの更新日時(HTTPの場合はLAST_MODIFIEDの値、ファイルの場合はタイムスタンプ)を比較して、更新されたものだけをクロールします。
ドキュメントにあるとおりに、HTTPヘッダのLast-Modifiedは正常にファイルのタイムスタンプを返していることを確認しました。
(curl --headコマンドで確認)
lastModifiedフィールドもsolradminで確認しましたが、ファイルのタイムスタンプが格納されていました。

PDF周りで変更しているのは、Fess標準ではクロール結果が文字化けを起こす頻度が多かったため、popplerのpdftotextコマンドを使うように変更しています。

他にチェックすべき点などありますでしょうか?

使用環境は以下の通りです。
Fess: 9.1.0
OS: CentOS 6.5
Java: Oracle jdk 1.7.0_51

情報だけでもいただけるとありがたいです。

Responder a #72984×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 差分クロールができない (2014-05-12 14:17 by saburota #72986)

すみません。書き忘れた事項追加します。

当初、インデックスの有効期限が1日となっていたため、これが影響していると考え、
120日に変更しました。
JOB管理のCrawlerだけでなく、システム管理のクロール開始ボタンからのクロールでも結果は同じでした。

以上、よろしくお願いいたします。
Responder a #72984

Responder a #72986×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 差分クロールができない (2014-05-14 20:48 by shatake #73011)

> PDF周りで変更しているのは、Fess標準ではクロール結果が文字化けを起こす頻度が多かったため、popplerのpdftotextコマンドを使うように変更しています。

上記を確認してみましたがその問題を再現することはできませんでした。
お手数ですが、webapps/fess/WEB-INF/classes/s2robot_extractor.diconとして保存した
ファイルの内容について教えて頂いてもよろしいでしょうか。

よろしくお願いいたします。
Responder a #72986

Responder a #73011×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 差分クロールができない (2014-05-15 11:42 by saburota #73016)

ご返答ありがとうございます。

s2robot_extractor.dicon添付いたします。
当方では何が影響するかよくわかっていないため、その他で修正したものも添付いたします。

s2robot_extractor.dicon
---------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
"http://www.seasar.org/dtd/components24.dtd">
<components>
<component name="pdfCmdExtractor" class="org.seasar.robot.extractor.impl.CommandExtractor">
<property name="command">"/zenbun/fess1/bin/pdftext.sh $INPUT_FILE $OUTPUT_FILE"</property>
<property name="outputEncoding">"UTF-8"</property>
</component>

<component name="extractorFactory" class="org.seasar.robot.extractor.ExtractorFactory">
<initMethod name="addExtractor">
<arg>{
"application/pdf"
}</arg>
<arg>pdfCmdExtractor</arg>
</initMethod>
</component>
</components>
---------------------------------------------------------------------------------

/zenbun/fess1/bin/pdftext.sh
----------------------------------------------------------------------------------
pdftotext -nopgbrk -raw $1 - | sed ':loop; N; $!b loop; ;s/\n//g' > $2
----------------------------------------------------------------------------------

snapshotの取得設定
fess.diconに以下追加しました。
----------------------------------------------------------------------------------
<component name="screenShotManager" class="jp.sf.fess.screenshot.ScreenShotManager">
<initMethod name="add">
<arg>pdfScreenShotGenerator</arg>
</initMethod>
</component>
<component name="pdfScreenShotGenerator" class="jp.sf.fess.screenshot.impl.CommandGenerator">
<property name="commandList">
{"bash",
"/zenbun/fess1/bin/pdf-screenshot.sh",
"${url}",
"${outputFile}"}
</property>
<initMethod name="addCondition">
<arg>"mimetype"</arg>
<arg>"application/pdf"</arg>
</initMethod>
</component>
----------------------------------------------------------------------------------

/zenbun/fess1/bin/pdf-screenshot.sh
----------------------------------------------------------------------------------
#!/bin/bash

tmpFileName="/var/tmp/$$_tmp.pdf"
wget -O $tmpFileName $1
pdftoppm -f 1 -l 1 -png -r 20 $tmpFileName > $2
rm -rf $tmpFileName
----------------------------------------------------------------------------------

s2robot_contentlength.dicon (defaultMaxLengthを修正)
----------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
"http://www.seasar.org/dtd/components24.dtd">
<components>
<component name="contentLengthHelper" class="org.seasar.robot.helper.ContentLengthHelper" instance="singleton" >
<property name="defaultMaxLength">1073741824L</property><!-- 1G -->
<initMethod name="addMaxLength">
<arg>"text/html"</arg>
<arg>2621440L</arg><!-- 2.5M -->
</initMethod>
</component>
</components>
----------------------------------------------------------------------------------

以上、よろしくお願いいたします。
Responder a #73011

Responder a #73016×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 差分クロールができない (2014-05-15 14:18 by saburota #73017)

お世話になっております。

申し訳ありません。設定で伝え漏れているものがありました。

パスマッピングでURLを変更しています。
詳細は、

正規表現 http://aaa\.bbb\.ccc\.ddd:1234/
置換文字 http://aaa\.bbb\.ccc\.ddd/
処理方法 クロール時
表示順 0

としております。
お手数おかけして申し訳ありません。
よろしくお願いいたします。
Responder a #73016

Responder a #73017×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 差分クロールができない (2014-05-15 19:32 by shatake #73024)

情報をありがとうございます。

頂いた設定ファイルを参考にし検証した所、問題再現いたしました。
お手数ですが、パスマッピングの処理方法をクロール時から表示時に変更して頂くと
差分クロールが有効になり現時点での回避は出来ると思います。

クロール時のパスマッピングの処理方法については
今後のバージョンで対応を検討いたします。

よろしくお願いいたします。
Responder a #73017

Responder a #73024×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 差分クロールができない (2014-05-16 17:37 by saburota #73038)

ご検証いただき誠にありがとうございます。

表示時に変更したところ、検索結果の表示リンクは置換後のURLが表示されているのですが、
実際にクリックすると置換元のURLで開かれてしまいます。
また、クロールの設定パラメータに
field.config.cache=true
としてキャッシュを表示しているのですが、こちらの表示URLも置換前のものになってしまいます。

解決方法の情報をいただけるとありがたいです。
Responder a #73024

Responder a #73038×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 差分クロールができない (2014-05-20 06:27 by shinsuke #73085)

現状、キャッシュのコンテンツに対して、パスマッピングの変換が適用されないため、次のリリースで対応したいと思います。
Responder a #73038

Responder a #73085×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login