(from osdn.net/users/rmaezawa)
Fess 11 を試験的に使用させていただいております。
検索結果画面に表示される クリック数 が更新されないという現象が発生しました。
fess_config.properties にて role.search.default.permissions の設定を行っておりましたが、この設定を空白に変更したところ、クリック数 が正しく更新されるようになることを確認いたしました。
おそらく不具合ではないかと考えておりますが、設定等で確認すべき箇所がありましたらご教授ください。
fess.log には以下の内容が記録されています。
2017-03-08 16:31:33,574 [job_log_aggregator] WARN Failed to update clickCounts
org.codelibs.fess.es.client.FessEsClientException: Failed to update bulk data.
at org.codelibs.fess.app.service.SearchService.bulkUpdate(SearchService.java:292) ~[classes/:?]
at org.codelibs.fess.helper.SearchLogHelper.processClickLogQueue(SearchLogHelper.java:311) [classes/:?]
at org.codelibs.fess.helper.SearchLogHelper.storeSearchLog(SearchLogHelper.java:152) [classes/:?]
at org.codelibs.fess.job.AggregateLogJob.execute(AggregateLogJob.java:33) [classes/:?]
at org.codelibs.fess.job.AggregateLogJob$execute.call(Unknown Source) [classes/:?]
…
Java は書いたことがないため見当違いかもしれませんが、
LogAggregator の処理の中で、 SearchService の getDocumentListByDocIds の中でデフォルトロールを用いてドキュメントの取得を行っているように見えます。
このため、デフォルトロールでは取得することのできないデータに対して、クリック数の更新が行えていないのではないかと考えています。
LogAggregator の動作時に、パーミッションを考慮せずにドキュメントの取得を行えるようにする、もしくは、使用するパーミッションを外部から指定できる
ようになればこの問題が解決できると考えておりますが、対応をご検討いただけないでしょうか。