すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:ドキュメントのチャンク化

最終更新日:Aug 06, 2025

AI サーチ開発ワークベンチはドキュメント分割サービス API をサポートしており、サービスをビジネスワークフローに統合して取得または処理の効率を高めることができます。

サービス名

サービス ID

サービスの説明

API 呼び出しの QPS 制限(Alibaba Cloud アカウントおよび RAM ユーザー)

ドキュメント分割サービス 001

ops-document-split-001

このサービスは、HTML、Markdown、および TXT 形式の構造化データを分割できる汎用テキストスライス戦略を提供します。ドキュメントの段落フォーマット、テキストセマンティクス、および事前定義されたルールを活用し、リッチテキストからコード、画像、および表を抽出できます。

2

説明

より高い QPS を申請するには、チケットを送信 してください。

Retrieval-Augmented Generation(RAG)では、取得用のテキストをベクトルに処理し、後続の取得のためにベクトルデータベースに保存するのが一般的です。分割サービスは長いドキュメントを小さなチャンクに分割し、各セグメントのテキスト埋め込みモデルの長さ要件に効果的に一致させ、それによって長いドキュメントをベクトル化します。

基本的な使用方法

入力は追加の構成を含むプレーンテキストの文字列であり、出力はセグメントに分割されたテキストで、潜在的にリッチテキストです。API は、チャンク、ノード、rich_texts、sentences の 4 つのリストを返します。埋め込みにドキュメント分割結果を使用するには、画像を除くチャンクと rich_texts リストからコンテンツフィールドを抽出するだけです。シナリオセンターのコードテンプレートを参照してください。Python コードは次のとおりです。

# チャンク結果を抽出します。ここでは、画像を除く ["chunks"] と ["rich_texts"] のみが使用されていることに注意してください。
doc_list = []
for chunk in document_split_result.body.result.chunks:
    doc_list.append({"id": chunk.meta.get("id"), "content": chunk.content})

for rich_text in document_split_result.body.result.rich_texts:
    if rich_text.meta.get("type") != "image":
        doc_list.append({"id": rich_text.meta.get("id"), "content": rich_text.content})

高度な使用方法

ドキュメント分割サービスは、複雑なドキュメントコンテンツを指定された数のトークンにセグメント化し、複数のノードのツリー構造を形成できます。この構造は、RAG の取得フェーズで、リコールされたチャンクのコンテキストを充実させ、回答の精度を向上させるために利用されます。

サービスロジックは、可能な限りマクロ構造に基づいてテキストを分割することを目的としています。結果のチャンクが長さの要件を満たしていない場合、サービスはすべて長さが満足のいくまで、各チャンクを再帰的に分割し続けます。この再帰プロセスによりチャンクツリーが生成され、各リーフノードは実際のチャンク結果(最終ノード)に対応します。

ベクトルリコールチャンクプロセス中に、チャンクツリー情報を使用してコンテキストを完成させることができます。たとえば、情報整合性を確保するために、モデルトークン数制限内で、リコールされたチャンクと同じレベルの他のチャンクを含めることができます。

たとえば、テキストセグメントが与えられた場合

AI サーチ開発ワークベンチサービスを初めて正常に開くと、システムはデフォルトのワークスペース:デフォルトを自動的に作成します。
スペースを作成するにはクリックします。カスタムワークスペース名を入力し、確認をクリックします。新しい API-KEY の作成をクリックすると、システムは API-KEY を生成します。ここで、顧客はコピー <button>ボタン</button> をクリックして、API-KEY のコンテンツをコピーして保存できます。

考えられるチャンクツリーは次のとおりです。

root (6b15)
  |
  +-- paragraph_node (557b)
       |
       +-- newline_node (ef4d)[AI サーチ開発ワークベンチを正常に開くと...デフォルト。]
       |
       +-- newline_node (c618)
            |
            +-- sentence_node (98ce)[スペースを作成するにはクリックします...確認をクリックします。]
            |
            +-- sentence_node (922a)[新しい API-KEY の作成をクリックすると...コピー ボタンをクリックして、API-KEY のコンテンツをコピーして保存できます。]

チャンクの最大長が与えられると、完全なチャンクツリーには、最終ノード(チャンクコンテンツを含む)と中間ノード(コンテンツのない論理ノード)の 2 種類のノードが含まれます。ツリー全体はすべてのノードのリスト(nodes)として返され、最終ノードも別のリスト(chunks)で返されます。以下は、考えられるノードタイプです。

  • root:ルートノード

  • paragraph_node:段落ノード。「\n\n」区切り文字での分割を表し、段落の位置をマークします(例には \n\n がないため、このような中間ノードは 1 つだけです)

  • newline_node:改行ノード。「\n」区切り文字での分割を表します(例の newline_node(ef4d)はチャンク長の要件を満たしており、最終ノードです。newline_node(c618)はさらに分割する必要があり、中間ノードです)

  • sentence_node:文ノード。「。」区切り文字での分割を表します

  • subsentence_node:句ノード。「,」区切り文字での分割を表します(例には示されていません)

Markdown および HTML 形式のコンテンツの場合、チャンクサービスはリッチテキスト(rich_texts)も個別に出力します。たとえば、HTML の <img>、<table>、および <code> タグです。これらのリッチテキストは、元のテキストでは [image_0]、<table>table_0</table>、<code>code_0</code> などのプレースホルダーに置き換えられます。たとえば、入力コンテンツの「![image](www.example.com)」のような画像 URL は、rich_texts の id=img_69646-0 のリッチテキストチャンクに対応するプレースホルダー「[img_69646]」に置き換えられます(id の命名サフィックスに注意してください)。一方、各リッチテキストブロックは rich_texts フィールドに返されます。この設計により、リッチテキストブロックを個別にリコールし、必要に応じて元のテキストに再統合できます。各リッチテキストブロックは、一意のチャンクの最終ノードチャンクに対応します。

短いクエリの取得率を向上させるために、顧客は strategy.need_sentence=true を構成することを選択できます。この場合、元のテキストは文ごとに分割され、独立したリコールのために sentences リストに返されます。文の拡張を支援するために、各文ブロックは一意のチャンクの最終ノードチャンクの一部です。(この sentences リストは、前述の sentence_node とは無関係であることに注意してください)

上記の太字のチャンク、ノード、rich_texts、sentences は、API によって返されるすべてのフィールドを表します。詳細な使用方法は、以下のパラメーターの説明に記載されています。簡単にするために、各チャンク出力では HTML 構文の簡略版を使用しています。

前提条件

  • 認証 情報が取得されます。

    API を使用して AI サーチオープンプラットフォームサービスを呼び出すときは、呼び出し元の ID を認証する必要があります。

  • サービスアクセスアドレスが取得されます。

    インターネットまたはVPC経由でサービスを呼び出すことができます。詳細については、「サービス登録アドレスを取得する」をご参照ください。

リクエストの説明

全般的な説明

  • リクエスト本文の最大サイズは 8 MB を超えてはなりません。

リクエストメソッド

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/document-split/{service_id} 
  • host:インターネットまたは VPC 経由でアクセスできるサービスのエンドポイント。詳細については、「サービスアクセスアドレスを取得する」をご参照ください。

  • workspace_name:ワークスペースの名前。例:default。

  • service_id:組み込みサービス ID。例:ops-document-split-001。

リクエストパラメーター

ヘッダーパラメーター

API-KEY 認証

パラメーター

タイプ

必須

説明

値の例

Content-Type

文字列

はい

リクエストタイプ:application/json

application/json

Authorization

文字列

はい

API-Key

Bearer OS-d1**2a

本文パラメーター

パラメーター

タイプ

必須

説明

値の例

document.content

文字列

はい

分割されるプレーンテキストコンテンツ。JSON 標準に従って、文字列フィールドの次の文字をエスケープします。「\\、\"、\/、\b、\f、\n、\r、\t」。一般的な JSON ライブラリは、生成された JSON 文字列でこれらの文字を自動的にエスケープします。

"タイトル\n1 行目\n2 行目"

document.content_encoding

文字列

いいえ

コンテンツのエンコーディングタイプ

  • utf8:デフォルトのエンコーディングタイプ

utf8

document.content_type

文字列

いいえ

コンテンツのフォーマット

  • html

  • markdown

  • text:デフォルトのフォーマット。プレーンテキストと互換性があります

html

strategy.type

文字列

いいえ

段落スライス戦略

  • default:デフォルトの戦略。ドキュメントの段落フォーマットに従って分割します

default

strategy.max_chunk_size

Int

いいえ

チャンクの最大長。デフォルトは 300 です。

300

strategy.compute_type

文字列

いいえ

長さを計算するために使用されるメソッド

  • token:デフォルトのメソッド。ops-text-embedding-001 ベクトルモデルのトークナイザーを使用して計算されます

token

strategy.need_sentence

ブール値

いいえ

短いクエリのリコールを最適化するために文レベルのチャンクを返すかどうかを示します

  • デフォルトでは、これは false に設定されています

  • true を選択した場合、トークンの使用量は 2 倍になります

false

追加の注意事項:

  • strategy.need_sentence パラメーターは、段落スライスとは無関係の文レベルのスライスを有効にします。基本的に、各文を個別のチャンクとして返します。この戦略をアクティブにすると、短いチャンクと長いチャンクを同時にリコールできるため、全体的な取得率が向上します。

レスポンスパラメーター

パラメーター

タイプ

説明

値の例

request_id

文字列

API 呼び出しに対してシステムによって割り当てられた一意の識別子。

B4AB89C8-B135-****-A6F8-2BAB801A2CE4

latency

Float/Int

リクエストの時間(ミリ秒)。

10

usage

オブジェクト

この呼び出しに関連付けられた課金情報。

"usage": {

"token_count": 3072

}

usage.token_count

Int

使用されたトークンの数。

3072

result.chunks

List(Chunk)

チャンク結果(最終ノード)のリスト。各チャンクのコンテンツと識別情報が含まれます。

[{

"content" : "xxx",

"meta":{'parent_id':x, 'id': x, 'type': 'text'}

}]

result.chunks[].content

文字列

結果リスト内の各チャンクのコンテンツ。

"xxx"

result.chunks[].meta

Map

結果リスト内の各チャンクの識別情報。すべてのフィールドは文字列タイプです

  • parent_id:チャンクの親ノードの ID

  • id:チャンクノードの ID

  • type:チャンクに出力されるコンテンツのタイプ。現在はすべてテキストです

  • token:現在のチャンクのトークンの数

{

'parent_id': '3b94a18555c44b67b193c6ab4f****',

'id': 'c9edcb38fdf34add90d62f6bf5c6****,

'type': 'text'

'token': 10,

}

result.rich_texts

List(RichText)

リッチテキストの出力フォーム。document.content_type が markdown または html に設定されている場合、チャンクコンテンツ内の画像、コード、表などの要素はリッチテキストプレースホルダーに置き換えられます。たとえば、入力コンテンツの「![image](www.example.com)」のような画像 URL は、rich_texts の id=img_69646-0 のリッチテキストチャンクに対応するプレースホルダー「[img_69646]」に置き換えられます(id の命名サフィックスに注意してください)

説明

document.content_type が text に設定されている場合、このフォームはサポートされていません。

[{

"content" : "xxx",

"meta":{'belonged_chunk_id':x, 'id': x, 'type': 'table'}

}]

result.rich_texts[].content

文字列

各リッチテキストチャンクのコンテンツ。画像コンテンツは URL であり、分割されないため、max_chunk_size を超える可能性があります。表はヘッダーと行コンテンツに分割されます。コードはテキストと同様に分割されます。

"<table><tr>\n<th>アクション</th>\n<th>説明</th>\n</tr><tr>\n<td>コンポーネントを非表示にする</td>\n<td>コンポーネントを非表示にします。パラメーターは必要ありません。</td>\n</tr></table>"

result.rich_texts[].meta

Map

各リッチテキストチャンクの識別情報。すべてのフィールドは文字列タイプです

  • belonged_chunk_id:リッチテキストが属するチャンクノードの ID(各リッチテキストはチャンクノードに関連付けられている必要があります)

  • id:リッチテキストの ID

  • type:code/image/table

  • token:現在のチャンクのトークンの数(画像のトークン数は -1 に固定されています)

{

'type': 'table',

'belonged_chunk_id': 'f0254cb7a5144a1fb3e5e024a3****b',

'id': 'table_2-1'

'token': 10

}

result.nodes

List(Node)

チャンクツリーのノードのリスト。

[{'parent_id':x, 'id': x, 'type': 'text'}]

result.nodes[]

Map

チャンクツリーの各ノードの情報。すべてのフィールドは文字列タイプです

  • id:ノード ID。ノノードがチャンクでもある場合はチャンク ID に対応します

  • type:文字列。paragraph_node、newline_node、sentence_node、subsentence_node が含まれ、HTML または Markdown の場合は、<h1> から <h6> を含む場合があります。さまざまな区切り文字を表します

  • parent_id:親ノード ID

{

'id': 'f0254cb7a5144a1fb3e5e024a3****b',

'type': 'paragraph_node',

'parent_id': 'f0254cb7a5144a1fb3e5e024a3****b'

}

result.sentences(オプション)

List(sentence)

リクエストで strategy.need_sentence が true に設定されている場合、これは各チャンクの文のリストを返します。

[{

"content" : "xxx",

"meta":{'belonged_chunk_id':x, 'id': x, 'type': 'sentence'}

}]

result.sentences[].content(オプション)

文字列

各文のコンテンツ。

"123"

result.sentences[].meta(オプション)

Map

各文の情報:

  • belonged_chunk_id:文が属するチャンクノードの ID

  • id:文の ID

  • type:sentence、静的フィールド

  • token:現在のチャンクのトークンの数

{

'id': 'f0254cb7a5144a1fb3e5e024a3****b1-1',

'type': 'sentence',

'belonged_chunk_id': 'f0254cb7a5144a1fb3e5e024a3****b',

'token': 10

}

Curl リクエストの例

curl -XPOST -H"Content-Type: application/json"  
"http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/document-split/ops-document-split-001"  
-H "Authorization: Bearer Your API-KEY"  
-d "{
    \"document\":{
          \"content\":\"製品の利点\\n業界アルゴリズムエディション\\nインテリジェント\\n組み込みのリッチでカスタマイズ可能なアルゴリズムモデルと、さまざまな業界の検索特性を組み合わせて、業界のリコールとソートアルゴリズムを起動し、より良い検索結果を保証します。\\n\\n柔軟でカスタマイズ可能\\n開発者は、独自のビジネス特性とデータに基づいて、対応するアルゴリズムモデル、アプリケーションスキーマ、データ処理、クエリ分析、ソート、およびその他の構成をカスタマイズして、パーソナライズされた検索ニーズを満たし、検索結果のクリック率を向上させ、迅速なビジネスの反復を実現し、需要のオンライン化のサイクルを大幅に短縮できます。\\n\\n安全で安定\\n7×24 時間の運用と保守を提供し、オンライン作業指示書と電話によるエラー報告を通じてテクニカルサポートを提供します。エラー監視、自動アラート、迅速な位置特定などのエラー緊急対応メカニズムの完全なセットを備えています。Alibaba Cloud の AccessKeyId と AccessKeySecret のセキュリティ暗号化に基づいて、アクセスインターフェースからアクセスの制御と分離を実行して、ユーザーレベルのデータ分離とユーザーデータセキュリティを確保します。データ冗長バックアップにより、データが失われないことが保証されます。\\n\\n自動スケーリング\\n弾力的な拡張機能を備えているため、ユーザーは必要に応じて使用するリソースを拡張または縮小できます。\\n\\n豊富な周辺機能\\nトップ検索、ヒント、検索候補、統計レポートなど、一連の検索周辺機能をサポートしており、ユーザーは表示と分析を簡単に行うことができます。\\n\\nすぐに使える\\nクラスターを維持および展開する必要がなく、ワンストップで検索サービスにすばやくアクセスできます\\n\\n高性能検索エディション\\n高スループット\\n単一の表は数万の書き込み TPS、秒単位の更新をサポートします。\\n\\n安全で安定\\n7×24 時間の運用と保守を提供し、オンライン作業指示書と電話によるエラー報告を通じてテクニカルサポートを提供します。エラー監視、自動アラート、迅速な位置特定などのエラー緊急対応メカニズムの完全なセットを備えています。Alibaba Cloud の AccessKeyId と AccessKeySecret のセキュリティ暗号化に基づいて、アクセスインターフェースからアクセスの制御と分離を実行して、ユーザーレベルのデータ分離とユーザーデータセキュリティを確保します。データ冗長バックアップにより、データが失われないことが保証されます。\\n\\n自動スケーリング\\n弾力的な拡張機能を備えているため、ユーザーは必要に応じて使用するリソースを拡張または縮小できます。\\n\\nすぐに使える\\nクラスターを維持および展開する必要がなく、ワンストップで検索サービスにすばやくアクセスできます\\n\\nベクトル検索エディション\\n安定\\n基盤となる実装では C++ を使用しています。これは、10 年以上にわたる開発を経て、複数の<a>コア</a>ビジネスをサポートしてきました。非常に安定しており、安定性の要件が高い<a>コア</a>検索シナリオに非常に適しています。\\n\\n効率的\\n<a>分散</a>検索エンジン。大量データの<a>取得</a>を効率的にサポートし、リアルタイムデータ更新(数秒で有効)もサポートします。クエリ<a>時間</a>に敏感で、適時性の要件が高い検索シナリオに非常に適しています。\\n\\n低コスト\\n複数のインデックス<a>圧縮</a>戦略をサポートし、多値インデックス読み込みテストもサポートしているため、ユーザーのクエリニーズを低コストで満たすことができます。\\n\\nベクトルアルゴリズム\\nさまざまな非構造化データ(音声、画像、ビデオ、テキスト、<a>動作</a>など)のベクトル<a>取得</a>をサポートします。\\n\\nSQL クエリ\\nSQL クエリ<a>構文</a>をサポートし、複数テーブルのオンライン結合をサポートし、豊富な組み込み UDF <a>関数</a>と UDF <a>関数</a>カスタマイズメカニズムを提供して、さまざまなユーザーの<a>取得</a>ニーズを満たします。運用保守システムでは、SQL studio を統合して、ユーザーが SQL を開発およびテストできるようにしています。\\n\\nリコールエンジンエディション\\n安定\\n基盤となる実装では C++ を使用しています。これは、10 年以上にわたる開発を経て、複数の<a>コア</a>ビジネスをサポートしてきました。非常に安定しており、安定性の要件が高い<a>コア</a>検索シナリオに非常に適しています。\\n\\n効率的\\nHavenask は<a>分散</a>検索エンジンであり、大量データの<a>取得</a>を効率的にサポートし、リアルタイムデータ更新(数秒で有効)もサポートします。クエリ<a>時間</a>に敏感で、適時性の要件が高い検索シナリオに非常に適しています。\\n\\n低コスト\\nHavenask は複数のインデックス<a>圧縮</a>戦略をサポートし、多値インデックス読み込みテストもサポートしているため、ユーザーのクエリニーズを低コストで満たすことができます。\\n\\n豊富な機能\\nHavenask はさまざまな<a>タイプ</a>の<a>アナライザ</a>、複数のインデックス<a>タイプ</a>、強力なクエリ<a>構文</a>をサポートしており、ユーザーの<a>取得</a>ニーズを十分に満たすことができます。また、<a>プラグイン</a>メカニズムを提供して、ユーザーが独自のビジネス<a>処理</a>ロジックをカスタマイズできるようにしています。\\n\\nSQL クエリ\\nHavenask は SQL クエリ<a>構文</a>をサポートし、複数テーブルのオンライン結合をサポートし、豊富な組み込み UDF <a>関数</a>と UDF <a>関数</a>カスタマイズメカニズムを提供して、さまざまなユーザーの<a>取得</a>ニーズを満たします。運用保守システムでは、すぐに SQL studio を統合して、ユーザーが SQL を開発およびテストできるようにします。\",
          \"content_encoding\":\"utf8\",\"content_type\":\"text\"
    },
    \"strategy\":{
          \"type\":\"default\",
          \"max_chunk_size\":300,
          \"compute_type\":\"token\",
          \"need_sentence\":false
    }
}"

レスポンスの例

正常なレスポンスの例

{
	"request_id": "47EA146B-****-448C-A1D5-50B89D7EA434",
	"latency": 161,
	"usage": {
		"token_count": 800
	},
	"result": {
		"chunks": [
			{
				"content": "製品の利点\\n業界アルゴリズムエディション\\nインテリジェント\\n組み込みのリッチでカスタマイズ可能なアルゴリズムモデルと、さまざまな業界の検索特性を組み合わせて、業界のリコールとソートアルゴリズムを起動し、より良い検索結果を保証します。\\n\\n柔軟でカスタマイズ可能\\n開発者は、独自のビジネス特性とデータに基づいて、対応するアルゴリズムモデル、アプリケーションスキーマ、データ処理、クエリ分析、ソート、およびその他の構成をカスタマイズして、パーソナライズされた検索ニーズを満たし、検索結果のクリック率を向上させ、迅速なビジネスの反復を実現し、需要のオンライン化のサイクルを大幅に短縮できます。\\n\\n安全で安定\\n7×24 時間の運用と保守を提供し、オンライン作業指示書と電話によるエラー報告を通じてテクニカルサポートを提供します。エラー監視、自動アラート、迅速な位置特定などのエラー緊急対応メカニズムの完全なセットを備えています。Alibaba Cloud の AccessKeyId と AccessKeySecret のセキュリティ暗号化に基づいて、アクセスインターフェースからアクセスの制御と分離を実行して、ユーザーレベルのデータ分離とユーザーデータセキュリティを確保します。データ冗長バックアップにより、データが失われないことが保証されます。\\n\\n自動スケーリング\\n弾力的な拡張機能を備えているため、ユーザーは必要に応じて使用するリソースを拡張または縮小できます。\\n\\n豊富な周辺機能\\nトップ検索、ヒント、検索候補、統計レポートなど、一連の検索周辺機能をサポートしており、ユーザーは表示と分析を簡単に行うことができます。\\n\\nすぐに使える\\nクラスターを維持および展開する必要がなく、ワンストップで検索サービスにすばやくアクセスできます\\n\\n高性能検索エディション\\n高スループット\\n単一の表は数万の書き込み TPS、秒単位の更新をサポートします。",
				"meta": {
					"parent_id": "dee776dda3ff4b078bccf989a6bd****",
					"id": "27eea7c6b2874cb7a5bf6c71afbf****",
					"type": "text"
				}
			},
			{
				"content": ".\\n\\n安全で安定\\n7×24 時間の運用と保守を提供し、オンライン作業指示書と電話によるエラー報告を通じてテクニカルサポートを提供します。エラー監視、自動アラート、迅速な位置特定などのエラー緊急対応メカニズムの完全なセットを備えています。Alibaba Cloud の AccessKeyId と AccessKeySecret のセキュリティ暗号化に基づいて、アクセスインターフェースからアクセスの制御と分離を実行して、ユーザーレベルのデータ分離とユーザーデータセキュリティを確保します。データ冗長バックアップにより、データが失われないことが保証されます。\\n\\n自動スケーリング\\n弾力的な拡張機能を備えているため、ユーザーは必要に応じて使用するリソースを拡張または縮小できます。\\n\\nすぐに使える\\nクラスターを維持および展開する必要がなく、ワンストップで検索サービスにすばやくアクセスできます\\n\\nベクトル検索エディション\\n安定\\n基盤となる実装では C++ を使用しています。これは、10 年以上にわたる開発を経て、複数のコアビジネスをサポートしてきました。非常に安定しており、安定性の要件が高いコア検索シナリオに非常に適しています。\\n\\n効率的\\n分散検索エンジン。大量データの取得を効率的にサポートし、リアルタイムデータ更新(数秒で有効)もサポートします。クエリ時間に敏感で、適時性の要件が高い検索シナリオに非常に適しています。\\n\\n低コスト\\n複数のインデックス圧縮戦略をサポートし、多値インデックス読み込みテストもサポートしているため、ユーザーのクエリニーズを低コストで満たすことができます。\\n\\nベクトルアルゴリズム\\nさまざまな非構造化データ(音声、画像、ビデオ、テキスト、動作など)のベクトル取得をサポートします。\\n\\nSQL クエリ\\nSQL クエリ構文をサポートし、複数テーブルのオンライン結合をサポートし、豊富な組み込み UDF 関数と UDF 関数カスタマイズメカニズムを提供して、さまざまなユーザーの取得ニーズを満たします。",
				"meta": {
					"parent_id": "dee776dda3ff4b078bccf989a6bd****",
					"id": "bf9fcfb47fcf410aa05216e268df****",
					"type": "text"
				}
			},
			{
				"content": "運用保守システムでは、SQL studio を統合して、ユーザーが SQL を開発およびテストできるようにしています。\\n\\nリコールエンジンエディション\\n安定\\n基盤となる実装では C++ を使用しています。これは、10 年以上にわたる開発を経て、複数のコアビジネスをサポートしてきました。非常に安定しており、安定性の要件が高いコア検索シナリオに非常に適しています。\\n\\n効率的\\nHavenask は分散検索エンジンであり、大量データの取得を効率的にサポートし、リアルタイムデータ更新(数秒で有効)もサポートします。クエリ時間に敏感で、適時性の要件が高い検索シナリオに非常に適しています。\\n\\n低コスト\\nHavenask は複数のインデックス圧縮戦略をサポートし、多値インデックス読み込みテストもサポートしているため、ユーザーのクエリニーズを低コストで満たすことができます。\\n\\n豊富な機能\\nHavenask はさまざまなタイプのアナライザ、複数のインデックスタイプ、強力なクエリ構文をサポートしており、ユーザーの取得ニーズを十分に満たすことができます。また、プラグインメカニズムを提供して、ユーザーが独自のビジネス処理ロジックをカスタマイズできるようにしています。\\n\\nSQL クエリ\\nHavenask は SQL クエリ構文をサポートし、複数テーブルのオンライン結合をサポートし、豊富な組み込み UDF 関数と UDF 関数カスタマイズメカニズムを提供して、さまざまなユーザーの取得ニーズを満たします。運用保守システムでは、すぐに SQL studio を統合して、ユーザーが SQL を開発およびテストできるようにします。",
				"meta": {
					"parent_id": "dee776dda3ff4b078bccf989a6bd****",
					"id": "26ab0e4f7665487bb0a82c5a226a****",
					"type": "text"
				}
			}
		],
		"nodes": [
			{
				"id": "dee776dda3ff4b078bccf989a6bd****",
				"type": "root",
				"parent_id": "dee776dda3ff4b078bccf989a6bd****"
			},
			{
				"id": "27eea7c6b2874cb7a5bf6c71afbf****",
				"type": "sentence",
				"parent_id": "dee776dda3ff4b078bccf989a6bd****"
			},
			{
				"id": "bf9fcfb47fcf410aa05216e268df****",
				"type": "sentence",
				"parent_id": "dee776dda3ff4b078bccf989a6bd****"
			},
			{
				"id": "26ab0e4f7665487bb0a82c5a226a****",
				"type": "sentence",
				"parent_id": "dee776dda3ff4b078bccf989a6bd****"
			}
		],
		"rich_texts": []
	}
}

例外レスポンスの例

アクセスリクエスト中にエラーが発生した場合、出力は code フィールドと message フィールドによってエラーの理由を指定します。

{
    "request_id": "817964CD-1B84-4AE1-9B63-4FB99734****",
    "latency": 0,
    "code": "InvalidParameter",
    "message": "JSON parse error: Invalid UTF-8 start byte 0xbc; nested exception is com.fasterxml.jackson.core.JsonParseException: Invalid UTF-8 start byte 0xbc\n at line: 2, column: 19]"
}

状態コード

状態コードの詳細については、「状態コード」をご参照ください。