斎藤
nsait****@msk-w*****
2015年 6月 28日 (日) 21:00:07 JST
こんにちは。 2015年4月にフォーラムでも話題が上っていた(http://osdn.jp/projects /fess/forums/18580 /36695/)のですが、 解決策が見つからず投稿させて頂きました。 内容等しては同様で、初回のクロール時には問題なくインデックスが登録され ているのですが、 同一内容(検索対象文書に変更はなし)で再度クロールを行うと、「システム設 定」→「サーバー状態」も 「無効」となってしまいます。 fess-server-9.3.3/bin/setenv.shで-Xmx6gとしており、そこそこ増やしたつ もりです。 検索対象となるファイルは、 ・フォーマット:doc/docx/xls/xlsx/ppt/txt/pdf ・サイズ :最大 50MBまで(10MB超のファイルが20%程度含まれておりま すが、中身が画像主体です。) webapps/fess/WEB-INF/classes/s2robot_contentlength.diconで 52428800Lを指定。 solr.logには、以下のログが出力された後、同じ内容が繰り返し記録されてい ました。 ちなみに、検索対象フォルダーを変更して、検索対象ファイルを追加する分に は、普通に追加 出来ている様に思われます。 何か設定が不足しているのでしょうか? クロールは、 ファイルシステムのみで、スレッド数5 間隔10000ミリ秒(10秒)としてい ます。 インデックスされたドキュメント数=約700ファイル程度 動作環境: CPU 4コア/8スレッド メモリ 16GB HDD 500GB(空き容量は十分) 2015-06-xx 18:54:48,632 [http-nio-8080-exec-5] ERROR org.apache.solr.servlet.SolrDispatchFilter - null:java.lang.RuntimeException: java.lang.OutOfMemoryError: Java heap space at org.apache.solr.servlet.SolrDispatchFilter.sendError(SolrDispatchFilter.java:793) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:434) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:3332) at java.lang.StringCoding.safeTrim(StringCoding.java:89) at java.lang.StringCoding.decode(StringCoding.java:230) at java.lang.String.<init>(String.java:451) at java.lang.String.<init>(String.java:503) at org.apache.lucene.codecs.compressing.CompressingStoredFieldsReader.readField(CompressingStoredFieldsReader.java:205) at org.apache.lucene.codecs.compressing.CompressingStoredFieldsReader.visitDocument(CompressingStoredFieldsReader.java:369) at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:335) at org.apache.lucene.index.BaseCompositeReader.document(BaseCompositeReader.java:112) at org.apache.lucene.index.IndexReader.document(IndexReader.java:471) at org.apache.lucene.document.LazyDocument.getDocument(LazyDocument.java:99) at org.apache.lucene.document.LazyDocument.fetchRealValues(LazyDocument.java:109) at org.apache.lucene.document.LazyDocument.access$100(LazyDocument.java:40) at org.apache.lucene.document.LazyDocument$LazyField.getRealValue(LazyDocument.java:149) at org.apache.lucene.document.LazyDocument$LazyField.numericValue(LazyDocument.java:185) at org.apache.solr.schema.TrieField.toObject(TrieField.java:115) at org.apache.solr.schema.TrieDateField.toObject(TrieDateField.java:70) at org.apache.solr.schema.TrieDateField.toObject(TrieDateField.java:56) at org.apache.solr.response.BinaryResponseWriter$Resolver.getValue(BinaryResponseWriter.java:233) at org.apache.solr.response.BinaryResponseWriter$Resolver.getDoc(BinaryResponseWriter.java:196) at org.apache.solr.response.BinaryResponseWriter$Resolver.writeResultsBody(BinaryResponseWriter.java:156) at org.apache.solr.response.BinaryResponseWriter$Resolver.writeResults(BinaryResponseWriter.java:183) at org.apache.solr.response.BinaryResponseWriter$Resolver.resolve(BinaryResponseWriter.java:88) at org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:158) at org.apache.solr.common.util.JavaBinCodec.writeNamedList(JavaBinCodec.java:148) at org.apache.solr.common.util.JavaBinCodec.writeKnownType(JavaBinCodec.java:242) at org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:153) at org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:96) at org.apache.solr.response.BinaryResponseWriter.write(BinaryResponseWriter.java:52) at org.apache.solr.servlet.SolrDispatchFilter.writeResponse(SolrDispatchFilter.java:758) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:426) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) クロールが完了し、インデックスをDB登録しているんだと思いますが、CPU1 コアを使い切っている 状態で、システム設定画面ではクロールを開始出来る様になっています。 恐くてクリック出来ませんが、メモリ消費も5Gを超えており、この状態でク リックできるとするのは 如何なものなのでしょう?多分落ちますよねw 以上