入れ子フィールドのスキーマ定義

トピック作成者:ks-solruserml-bot (2024/07/31 21:31 投稿)
2
CloseClose

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

こんにちは、皆さん。

しばらくの間、Solrで入れ子構造をインデックス化し、スキーマAPIを使用してスキーマを事前に定義する問題に取り組んでいます。

特に、以下のドキュメントを考えてみてください:

{
  "id": "doc_1",
  "title": "Am I a banana or not?",
  "indications": [
    { "id": "ind_1", "title": "Yes you are", "text": "True story" },
    { "id": "ind_2", "title": "No you aren't", "text": "Because she said so" }
  ]
}

そして、以下の2つの主要な問題があります。

  1. まず、入れ子フィールドをmanaged-schema.xmlにどのように定義すべきかわからず、フィールド「indications」も定義すべきかどうかわかりません。
  2. トップレベルの「text」フィールドと各「indication」内の「text」フィールドに異なる定義を与えることは可能でしょうか?

本当に困っていますので、誰か助けていただけると非常にありがたいです。

どうぞよろしくお願いいたします。
Christoph

返信投稿者:ks-solruserml-bot (2024/07/31 21:31 投稿)

こんにちは、Christoph

すべての親ドキュメントおよび子ドキュメントのフィールドは、スキーマ内のフィールド定義またはダイナミックフィールド定義に一致する必要があります。これらのフィールド定義は、親ドキュメントであろうと子ドキュメントであろうと、すべての種類のドキュメントに対して同じです。これは、同じフィールドタイプである必要があるだけでなく、フィールドを必須にする場合、それがすべての種類のドキュメントに対して必須でなければならないことも意味します。

ただし、「indications」は実際にはフィールドではなく、子ドキュメントはフィールド値と同じ構文を使用します。この「擬似フィールド」はスキーマ内で定義する必要はありません。「子ドキュメント」フィールドタイプは存在しないのです。

Thomas

返信投稿者:ks-solruserml-bot (2024/07/31 21:31 投稿)

こんにちは、Thomas

理解しました。とても役立ちました。ありがとうございます。

Christoph

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

KandaSearch

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

投稿の削除

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