legacy-knowledge-base
公開されました Jun. 30, 2025

SearchException エンティティコンテンツが長すぎて、設定されたバッファの上限を超え ている。

written-by

Ricardo Couso

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • カスタム・エンティティのインデックスを再作成しようとすると、バッファの制限によりログに SearchException が発生します:
    com.liferay.portal.kernel.search.SearchException: java.lang.RuntimeException:
    java.io.IOException: entity content is too long [134770594] for the configured buffer limit [104857600] at
    com.liferay.portal.kernel.search.BaseIndexer.reindex(BaseIndexer.java:471) at
    com.liferay.portal.search.internal.background.task.ReindexSingleIndexerBackgroundTaskExecutor.reindex(ReindexSingleIndexerBackgroundTaskExecutor.java:134) at
    com.liferay.portal.search.internal.background.task.BaseReindexBackgroundTaskExecutor.execute(BaseReindexBackgroundTaskExecutor.java:54) at
    [...]
    java.base/java.lang.Thread.run(Thread.java:829)
    Caused by: java.lang.RuntimeException: java.io.IOException: entity content is too long [134770594] for the configured buffer limit [104857600] at
    com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.document.BulkDocumentRequestExecutorImpl._getBulkResponse(BulkDocumentRequestExecutorImpl.java:198) at
    com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.document.BulkDocumentRequestExecutorImpl.execute(BulkDocumentRequestExecutorImpl.java:68) at
    com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.document.ElasticsearchDocumentRequestExecutor.executeBulkDocumentRequest(ElasticsearchDocumentRequestExecutor.java:50) at
    com.liferay.portal.search.engine.adapter.document.BulkDocumentRequest.accept(BulkDocumentRequest.java:33) at
    com.liferay.portal.search.engine.adapter.document.BulkDocumentRequest.accept(BulkDocumentRequest.java:25) at
    com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.ElasticsearchSearchEngineAdapterImpl.execute(ElasticsearchSearchEngineAdapterImpl.java:81) at
    com.liferay.portal.search.elasticsearch7.internal.ElasticsearchIndexWriter.updateDocuments(ElasticsearchIndexWriter.java:393) at
    com.liferay.portal.search.internal.IndexWriterHelperImpl.updateDocuments(IndexWriterHelperImpl.java:545) at
    my.own.entity.MyOwnEntityIndexer.reindexEntries(MyOwnEntityIndexer.java:151) at
    my.own.entity.MyOwnEntityIndexer.doReindex(MyOwnEntityIndexer.java:120) at
    com.liferay.portal.kernel.search.BaseIndexer.reindex(BaseIndexer.java:465)
    ... 13 more
    Caused by: java.io.IOException: entity content is too long [134770594] for the configured buffer limit [104857600] at
    org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:901) at
    [...]
  • System Settings > Search > Reindex > Indexing Batch Sizes を、 デフォルトの 10000 よ り も 小 さ い値に設定 し て も 、 同 じ エ ラ ーが発生 し ます:
    my.own.entity.MyOwnEntityIndexer=5000

環境

  • Liferay DXP 7.4

解像度

  • カスタム・エンティティにインデックス機能を提供するには、2つの方法があります:
    • com.liferay.portal.kernel.search.BaseIndexer(古い)
    • com.liferay.portal.search.internal.indexer.DefaultIndexer(newer)
  • 上の例は古いものを使っている。
  • System SettingIndexing Batch Sizesは、新しい方を使用する場合にのみ自動的に考慮されます。
  • 古いアプローチで構成が考慮されていることを確認するには、カスタムコードのreindexメソッドを見直して、reindexを実行するために使用されるindexableActionableDynamicQueryに 間隔が設定されていることを確認します。
    • 例えば、WikiNodeIndexer例から始めると_reindexEntries(long companyId)メソッドには以下を含める必要があります。
      indexableActionableDynamicQuery.setInterval(
      _batchIndexingHelper.getBulkSize(getClassName()));
      への参照と一緒に。
      @Reference
      private BatchIndexingHelper _batchIndexingHelper;

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base