最適化が機能しない、Solrバージョン9.1.0-SNAPSHOT

トピック作成者:ks-solruserml-bot (2024/07/06 13:14 投稿)
1
CloseClose

(The bot translated the original post https://lists.apache.org/thread/sqwy1kppwvtt8lv1l3oot5r1t82ypo52 into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

#solr Slackチャンネルで説明されている問題を調査中、Solrに最適化を試みました。しかし、コマンドが完全に無視されているようです。私はbranch_9xからコンパイルした9.1.0-SNAPSHOTを実行しています。

Slackユーザーもバージョン8.11.2を実行しており、そのシステムも同様の動作を示しました。

私はこのJavaバージョンを使用しています(Ubuntuパッケージとしてインストール):

openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Slackユーザーは次のバージョンを使用しています:
Oracle Corporation OpenJDK 64-Bit Server VM 11.0.13 11.0.13+8

私はShenandoah GCに切り替えていますが、SlackユーザーはSolrの起動に特に大きな変更を加えていないと言っています。彼らはDockerコンテナを使用しており、私は付属のサービスインストーラスクリプトを使用してインストールしました。

最適化の代わりに、彼らはexpungeDeletesを実行し、インデックスのサイズが32GBから24GBに減少しました。私のインデックスはわずか660MBです。削除されたドキュメントはありません。

私はコードを解析して、最適化が完全に無効になっているか(管理UIからも削除されている)を確認しようとしましたが、どこを見ればいいのかわかりません。更新プロセッサチェーンを定義していますが、コミットと最適化を無視するプロセッサは含まれていません:

<updateRequestProcessorChain name="default" default="true">
  <processor class="solr.TrimFieldUpdateProcessorFactory"/>
  <processor class="solr.LogUpdateProcessorFactory"/>
  <processor class="solr.DistributedUpdateProcessorFactory"/>
  <processor class="solr.RunUpdateProcessorFactory"/>
</updateRequestProcessorChain>

以下は最適化を試みた最後のAPI呼び出しです。最初はcommitオプションを含めていませんでした。追加しても効果はありませんでした:

curl -v "http://localhost:8983/solr/dovecot/update?optimize=true&commit=true"

なぜ最適化が機能しないのか、何かアイデアはありますか?API呼び出しは正しいのでしょうか?

ありがとうございます、
Shawn

返信投稿者:ks-solruserml-bot (2024/07/06 13:14 投稿)

私は最近、8.11.1でこの問題に直面しました。それは2つのセグメントを持つ小さなテストインデックスでした。1つのセグメントは7.xからのものであったかもしれません。8.xでインデックスを1つのセグメントに最適化して書き直したかったのですが、最適化は機能しませんでした。

このケースでは、最適化前にnumDocs=maxDocsでした。これが原因の可能性があると考え、おそらくLuceneが最適化のメリットがないと判断したのでしょう。そこで、既存のドキュメントに対してアトミックアップデートを行い、削除を誘発しました。その後、commit=true&optimize=true&maxSegments=1で最適化を実行しました。今回はうまくいきました。

numDocs=maxDocsのときにこれが設計通りなのかは分かりませんが、最初は確かに奇妙でした。

-Rahul

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?