Fess #6:URLで検索対象を分けたい

URLで検索対象を分けたい。

※ 前回記事:#5 エラー その2
記事一覧


例)
http://localhost/sales/ … 営業系資料の検索
http://localhost/tech/ … 技術系資料の検索 など

fessの仮想ホスト機能を使えばできそうだが、ドキュメントを読んでもよくわからない。


全文検索, Fess, 調査中

Fess #5:エラー その2

Fessを起動したら、またエラーが発生するようになった。
OS再起動するとエラーとなるのかな?

※ 前回記事:#4 ネットワークフォルダのインデックス
記事一覧


前回発生したエラー:#3 エラー?

環境変数PathにJavaのパス(%JAVA_HOME%\Bin)を追加設定したらエラー発生しなくなった。

たまたま直っただけかも。


全文検索, Fess

Fess #4:ネットワークフォルダのインデックス

※ 前回記事:#3 エラー?
記事一覧


はじめに

ネットワークフォルダのインデックスを登録してみる。

(2024.10.15) Docker版Fessで、インデックス対象ファイルをWindowsのファイル共有フォルダに配置する場合の手順は
以下記事を参照
WSL #28:Fessのインデックスを作成する

手順

とりあえず前回作成した C:\test フォルダを test の名前でフォルダ共有した。
アクセス権限は Everyone 読み取り専用。


なお、Fessは前回エラーで起動出来なくなったので、再セットアップし初期化された状態である。
Fessを起動し管理者権限でログインする。
[クローラ] → [ファイルシステム] より [新規作成]
・名前 … test ※適当な名前
・パス … file:////<コンピュータ名>/test/

入力したら [作成] ボタンをクリック

管理者メニュー [システム] → [スケジューラ] より "Default Crawler" をクリックし [今すぐ開始] をクリック、
ジョブ終了まで待つ。
※ ジョブ終了の確認は [システム情報] - [ジョブログ] にて確認

管理者メニュー [システム情報] → [クロール情報] より先ほど作成したセッションIDをクリック、
インデックスのサイズが1以上であれば、おそらくインデックス作成されている。


検索してみる。
http://localhost:8080/ を開き「天気」で検索。

が、検索できない。
もう一度 "Default Crawler" を実行しインデックスを作成。

今度は検索できた。


※ 次回記事:#5 エラー その2
全文検索, Fess

Fess #3:エラー?



はじめに

Fessを起動(fess.batを実行)したらJavaエラーが出るようになってしまった。

エラー内容

Exception in thread "elasticsearch[Node 1][generic][T#2]" java.lang.NoClassDefFoundError: org/apache/lucene/util/ArrayTimSorter
    at org.apache.lucene.util.ArrayUtil.timSort(ArrayUtil.java:426)
    at org.apache.lucene.util.ArrayUtil.timSort(ArrayUtil.java:445)
    at org.apache.lucene.util.ArrayUtil.timSort(ArrayUtil.java:453)
    at org.apache.lucene.index.FrozenBufferedUpdates.(FrozenBufferedUpdates.java:99)
    at org.apache.lucene.index.DocumentsWriterDeleteQueue.freezeGlobalBuffer(DocumentsWriterDeleteQueue.java:218)
    at org.apache.lucene.index.DocumentsWriterPerThread.prepareFlush(DocumentsWriterPerThread.java:404)
    at org.apache.lucene.index.DocumentsWriterFlushQueue.addFlushTicket(DocumentsWriterFlushQueue.java:70)
    at org.apache.lucene.index.DocumentsWriter.doFlush(DocumentsWriter.java:551)
    at org.apache.lucene.index.DocumentsWriter.flushAllThreads(DocumentsWriter.java:672)
    at org.apache.lucene.index.IndexWriter.prepareCommitInternal(IndexWriter.java:3246)
    at org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:3458)
    at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3423)
    at org.elasticsearch.index.engine.InternalEngine.commitIndexWriter(InternalEngine.java:2172)
    at org.elasticsearch.index.engine.InternalEngine.commitIndexWriter(InternalEngine.java:2165)
    at org.elasticsearch.index.engine.InternalEngine.flush(InternalEngine.java:1562)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslogInternal(InternalEngine.java:481)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:393)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:99)
    at org.elasticsearch.index.shard.IndexShard.openIndexAndRecoveryFromTranslog(IndexShard.java:1332)
    at org.elasticsearch.index.shard.StoreRecovery.internalRecoverFromStore(StoreRecovery.java:404)
    at org.elasticsearch.index.shard.StoreRecovery.lambda$recoverFromStore$0(StoreRecovery.java:94)
    at org.elasticsearch.index.shard.StoreRecovery.executeRecovery(StoreRecovery.java:300)
    at org.elasticsearch.index.shard.StoreRecovery.recoverFromStore(StoreRecovery.java:92)
    at org.elasticsearch.index.shard.IndexShard.recoverFromStore(IndexShard.java:1606)
    at org.elasticsearch.index.shard.IndexShard.lambda$startRecovery$6(IndexShard.java:2038)
    at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:566)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.apache.lucene.util.ArrayTimSorter]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1301)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1158)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
    ... 29 more
Caused by: java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.apache.lucene.util.ArrayTimSorter]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1311)
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1299)
    ... 31 more
Exception in thread "elasticsearch[Node 1][generic][T#5]" java.lang.NoClassDefFoundError: org/apache/lucene/codecs/blocktree/SegmentTermsEnumFrame
    at org.apache.lucene.codecs.blocktree.SegmentTermsEnum.(SegmentTermsEnum.java:74)
    at org.apache.lucene.codecs.blocktree.FieldReader.iterator(FieldReader.java:156)
    at org.elasticsearch.common.lucene.uid.PerThreadIDVersionAndSeqNoLookup.(PerThreadIDVersionAndSeqNoLookup.java:73)
    at org.elasticsearch.common.lucene.uid.VersionsAndSeqNoResolver.getLookupState(VersionsAndSeqNoResolver.java:76)
    at org.elasticsearch.common.lucene.uid.VersionsAndSeqNoResolver.loadDocIdAndSeqNo(VersionsAndSeqNoResolver.java:152)
    at org.elasticsearch.index.engine.InternalEngine.compareOpToLuceneDocBasedOnSeqNo(InternalEngine.java:679)
    at org.elasticsearch.index.engine.InternalEngine.planIndexingAsNonPrimary(InternalEngine.java:943)
    at org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:870)
    at org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:738)
    at org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:707)
    at org.elasticsearch.index.shard.IndexShard.applyTranslogOperation(IndexShard.java:1245)
    at org.elasticsearch.index.shard.IndexShard.runTranslogRecovery(IndexShard.java:1274)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslogInternal(InternalEngine.java:470)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:393)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:99)
    at org.elasticsearch.index.shard.IndexShard.openIndexAndRecoveryFromTranslog(IndexShard.java:1332)
    at org.elasticsearch.index.shard.StoreRecovery.internalRecoverFromStore(StoreRecovery.java:404)
    at org.elasticsearch.index.shard.StoreRecovery.lambda$recoverFromStore$0(StoreRecovery.java:94)
    at org.elasticsearch.index.shard.StoreRecovery.executeRecovery(StoreRecovery.java:300)
    at org.elasticsearch.index.shard.StoreRecovery.recoverFromStore(StoreRecovery.java:92)
    at org.elasticsearch.index.shard.IndexShard.recoverFromStore(IndexShard.java:1606)
    at org.elasticsearch.index.shard.IndexShard.lambda$startRecovery$6(IndexShard.java:2038)
    at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:566)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.apache.lucene.codecs.blocktree.SegmentTermsEnumFrame]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1301)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1158)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
    ... 26 more
Caused by: java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.apache.lucene.codecs.blocktree.SegmentTermsEnumFrame]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1311)
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1299)
    ... 28 more
Exception in thread "elasticsearch[Node 1][generic][T#3]" java.lang.NoClassDefFoundError: org/apache/lucene/codecs/blocktree/SegmentTermsEnumFrame
    at org.apache.lucene.codecs.blocktree.SegmentTermsEnum.(SegmentTermsEnum.java:74)
    at org.apache.lucene.codecs.blocktree.FieldReader.iterator(FieldReader.java:156)
    at org.elasticsearch.common.lucene.uid.PerThreadIDVersionAndSeqNoLookup.(PerThreadIDVersionAndSeqNoLookup.java:73)
    at org.elasticsearch.common.lucene.uid.VersionsAndSeqNoResolver.getLookupState(VersionsAndSeqNoResolver.java:76)
    at org.elasticsearch.common.lucene.uid.VersionsAndSeqNoResolver.loadDocIdAndSeqNo(VersionsAndSeqNoResolver.java:152)
    at org.elasticsearch.index.engine.InternalEngine.compareOpToLuceneDocBasedOnSeqNo(InternalEngine.java:679)
    at org.elasticsearch.index.engine.InternalEngine.planIndexingAsNonPrimary(InternalEngine.java:943)
    at org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:870)
    at org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:738)
    at org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:707)
    at org.elasticsearch.index.shard.IndexShard.applyTranslogOperation(IndexShard.java:1245)
    at org.elasticsearch.index.shard.IndexShard.runTranslogRecovery(IndexShard.java:1274)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslogInternal(InternalEngine.java:470)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:393)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:99)
    at org.elasticsearch.index.shard.IndexShard.openIndexAndRecoveryFromTranslog(IndexShard.java:1332)
    at org.elasticsearch.index.shard.StoreRecovery.internalRecoverFromStore(StoreRecovery.java:404)
    at org.elasticsearch.index.shard.StoreRecovery.lambda$recoverFromStore$0(StoreRecovery.java:94)
    at org.elasticsearch.index.shard.StoreRecovery.executeRecovery(StoreRecovery.java:300)
    at org.elasticsearch.index.shard.StoreRecovery.recoverFromStore(StoreRecovery.java:92)
    at org.elasticsearch.index.shard.IndexShard.recoverFromStore(IndexShard.java:1606)
    at org.elasticsearch.index.shard.IndexShard.lambda$startRecovery$6(IndexShard.java:2038)
    at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:566)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Exception in thread "elasticsearch[Node 1][generic][T#6]" java.lang.NoClassDefFoundError: org/apache/lucene/codecs/blocktree/SegmentTermsEnumFrame
    at org.apache.lucene.codecs.blocktree.SegmentTermsEnum.(SegmentTermsEnum.java:74)
    at org.apache.lucene.codecs.blocktree.FieldReader.iterator(FieldReader.java:156)
    at org.elasticsearch.common.lucene.uid.PerThreadIDVersionAndSeqNoLookup.(PerThreadIDVersionAndSeqNoLookup.java:73)
    at org.elasticsearch.common.lucene.uid.VersionsAndSeqNoResolver.getLookupState(VersionsAndSeqNoResolver.java:76)
    at org.elasticsearch.common.lucene.uid.VersionsAndSeqNoResolver.loadDocIdAndSeqNo(VersionsAndSeqNoResolver.java:152)
    at org.elasticsearch.index.engine.InternalEngine.compareOpToLuceneDocBasedOnSeqNo(InternalEngine.java:679)
    at org.elasticsearch.index.engine.InternalEngine.planIndexingAsNonPrimary(InternalEngine.java:943)
    at org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:870)
    at org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:738)
    at org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:707)
    at org.elasticsearch.index.shard.IndexShard.applyTranslogOperation(IndexShard.java:1245)
    at org.elasticsearch.index.shard.IndexShard.runTranslogRecovery(IndexShard.java:1274)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslogInternal(InternalEngine.java:470)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:393)
    at org.elasticsearch.index.engine.InternalEngine.recoverFromTranslog(InternalEngine.java:99)
    at org.elasticsearch.index.shard.IndexShard.openIndexAndRecoveryFromTranslog(IndexShard.java:1332)
    at org.elasticsearch.index.shard.StoreRecovery.internalRecoverFromStore(StoreRecovery.java:404)
    at org.elasticsearch.index.shard.StoreRecovery.lambda$recoverFromStore$0(StoreRecovery.java:94)
    at org.elasticsearch.index.shard.StoreRecovery.executeRecovery(StoreRecovery.java:300)
    at org.elasticsearch.index.shard.StoreRecovery.recoverFromStore(StoreRecovery.java:92)
    at org.elasticsearch.index.shard.IndexShard.recoverFromStore(IndexShard.java:1606)
    at org.elasticsearch.index.shard.IndexShard.lambda$startRecovery$6(IndexShard.java:2038)
    at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:566)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
原因不明のため、再度fess-12.1.0.zipを解凍し Fessのセットアップ先フォルダ(c:\setup\fess-12.1.0) へ上書きコピーした。

全文検索, Fess

その他の記事