This mail server chopped off my cur request so I am posting it here with the
domain marked out so it just looks like text:
curl --location --request POST '
xxxx:8983/solr/talix/update?json.command=false' \
--header 'Content-Type: application/json' \
--data-raw '{
"partner": "88027688-62c4-459a-b4d5-a8ecf9edd1bf",
"command": "add",
"doc_id": "2ff99d1a-a21b-4391-9c47-af2865acb753",
"content": {
"Page": {
"Id": "2ff99d1a-a21b-4391-9c47-af2865acb753",
"Name": "Ronald McDonald House Idaho meals",
"Url":
"/blogs/st-lukes/news-and-community/2021/jan/ronald-mcdonald-house-idaho-meals",
"Date": "2022-10-03T12:30:17.3388537",
"ContentType": "Blog",
"Body": {
"Fields": [
{ "Name": "Heading Background Image", "Type": "Image", "Value": "" },
{ "Name": "Tile Wide Image", "Type": "Image", "Value": "" },
{ "Name": "Specialties", "Type": "Treelist", "Value": "" },
{
"Name": "Blog Post Name",
"Type": "Single-Line Text",
"Value": "Ronald McDonald House, St. Luke’s Children’s find new
ways to help families"
},
{ "Name": "Blog Summary", "Type": "Rich Text", "Value": "" },
{ "Name": "Share Summary", "Type": "Multi-Line Text", "Value": "" }
],
"Modules": {
"Fields": [
{ "Name": "Content", "Type": "Rich Text", "Value": "" },
{ "Name": "Image Position", "Type": "Droptree", "Value": "Right" },
{ "Name": "Image Source", "Type": "Image", "Value": "" },
{
"Name": "Image Content",
"Type": "Rich Text",
"Value": "<p>For more than three decades</p>"
}
]
}
},
"Facets": ["Blogs", "Article"],
"Title": "Ronald McDonald House, St. Luke’s Children’s find new ways to
help families",
"Summary": ""
}
}
}'
________________________________
From: Matthew Castrigno <[email protected]>
Sent: Monday, October 31, 2022 12:27 PM
To: Thomas Corthals <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: I cannot get nested objects to index - with image links
Hi Thomas, I am attempting to define my fields to accept the data that will
actually be sent, it is more deeply nested. In doing so I have interpreted the
results of the previous configuration to not include (pseudo-)fields. In the
JSON below
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside the St. Luke's email system.
ZjQcmQRYFpfptBannerEnd
Hi Thomas,
I am attempting to define my fields to accept the data that will actually be
sent, it is more deeply nested.
In doing so I have interpreted the results of the previous configuration to not
include (pseudo-)fields. In the JSON below I believe those to be "content" from
the prior example, along with "Page, Body, Modules and Fields" but his gives me
the error shown. How do I handle these other fields. Thank you for your
assistance, it is greatly appreciated.
<field name="partner" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="command" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="doc_id" type="string" indexed="true" stored="true"
required="true" multiValued="false" />
<!--
<field name="content" type="string" indexed="true" stored="true"
required="true" multiValued="false" />
-->
<field name="Id" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="Name" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="Url" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="Date" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="ContentType" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="Facets" type="strings" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="Title" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="Summary" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="Type" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<field name="Value" type="string" indexed="true" stored="true"
required="false" multiValued="false" />
<!-- docValues are enabled by default for long type so we don't need to
index the version field -->
<field name="_version_" type="plong" indexed="false" stored="false"/>
<!-- If you don't use child/nested documents, then you should remove the
next two fields: -->
<!-- for nested documents (minimal; points to root document) -->
<field name="_root_" type="string" indexed="true" stored="false"
docValues="false" />
<!-- for nested documents (relationship tracking) -->
<field name="_nest_path_" type="_nest_path_" /><fieldType
name="_nest_path_" class="solr.NestPathField" />
<field name="_text_" type="text_general" indexed="true" stored="false"
multiValued="true"/>
curl --location --request POST
'https://urldefense.com/v3/__http://localhost:8983/solr/talix/update?json.command=false__;!!FkC3_z_N!PWxH83o-VvWmRGMnhl6_edpBVurmHqqpX-1Hd_Bb3KuXh6tU-eR7XXu2dSYpvb_HgM3r_BxEzve8SA$'
\
--header 'Content-Type: application/json' \
--data-raw '{
"partner": "88027688-62c4-459a-b4d5-a8ecf9edd1bf",
"command": "add",
"doc_id": "2ff99d1a-a21b-4391-9c47-af2865acb753",
"content": {
"Page": {
"Id": "2ff99d1a-a21b-4391-9c47-af2865acb753",
"Name": "Ronald McDonald House Idaho meals",
"Url":
"/blogs/st-lukes/news-and-community/2021/jan/ronald-mcdonald-house-idaho-meals",
"Date": "2022-10-03T12:30:17.3388537",
"ContentType": "Blog",
"Body": {
"Fields": [
{ "Name": "Heading Background Image", "Type": "Image", "Value": "" },
{ "Name": "Tile Wide Image", "Type": "Image", "Value": "" },
{ "Name": "Specialties", "Type": "Treelist", "Value": "" },
{
"Name": "Blog Post Name",
"Type": "Single-Line Text",
"Value": "Ronald McDonald House, St. Luke’s Children’s find new
ways to help families"
},
{ "Name": "Blog Summary", "Type": "Rich Text", "Value": "" },
{ "Name": "Share Summary", "Type": "Multi-Line Text", "Value": "" }
],
"Modules": {
"Fields": [
{ "Name": "Content", "Type": "Rich Text", "Value": "" },
{ "Name": "Image Position", "Type": "Droptree", "Value": "Right" },
{ "Name": "Image Source", "Type": "Image", "Value": "" },
{
"Name": "Image Content",
"Type": "Rich Text",
"Value": "<p>For more than three decades</p>"
}
]
}
},
"Facets": ["Blogs", "Article"],
"Title": "Ronald McDonald House, St. Luke’s Children’s find new ways to
help families",
"Summary": ""
}
}
}'
Response:
{
"responseHeader":{
"status":400,
"QTime":0},
"error":{
"metadata":[
"error-class","org.apache.solr.common.SolrException",
"root-error-class","org.apache.solr.common.SolrException"],
"msg":"undefined field: \"content.Page.Id\"",
"code":400}}
________________________________
From: Matthew Castrigno <[email protected]>
Sent: Thursday, October 27, 2022 10:36 AM
To: Thomas Corthals <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: I cannot get nested objects to index - with image links
Thank you, Thomas! Changing the required to false allowed the document to be
indexed. I did not gleam this information from the SOLR documentation regarding
nested documents. Do you know of any good sources for educational material on
this subject? I cannot change the payloads that I am working with
unfortunately. They make heavy use of deeply nested json object. Thank you
again for your assistance, it is most appreciated!
________________________________
From: Thomas Corthals <[email protected]>
Sent: Thursday, October 27, 2022 1:34 AM
To: Matthew Castrigno <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: I cannot get nested objects to index - with image links
Hi Matthew All the fields in your schema are required="true". This means they
are required for all documents, whether parents or children (or standalone).
"Required" fields (from a business logic perspective) on parents
ZjQcmQRYFpfptBannerStart
This Message Is From an Untrusted Sender
You have not previously corresponded with this sender.
ZjQcmQRYFpfptBannerEnd
Hi Matthew
All the fields in your schema are required="true". This means they are required
for all documents, whether parents or children (or standalone). "Required"
fields (from a business logic perspective) on parents and children will usually
be different and that can't be enforced in a Solr schema.
The only fields that can be required="true" are the ones that are required for
all types of documents. The uniqueKeyField is definitely one of them. For all
other fields, it might make more sense to handle this constraint in your
application.
Thomas
Op do 27 okt. 2022 om 01:08 schreef Matthew Castrigno
<[email protected]<mailto:[email protected]>>:
Thank you so much for your response, Thomas, I do appreciate it.
I made the changes, but I am getting a different error now. Did I not interpret
your instructions correctly?
https://urldefense.com/v3/__https://i.postimg.cc/SNM4t7vs/updated-schema.png__;!!FkC3_z_N!PWxH83o-VvWmRGMnhl6_edpBVurmHqqpX-1Hd_Bb3KuXh6tU-eR7XXu2dSYpvb_HgM3r_ByCWrtmOQ$
[i.postimg.cc]<https://urldefense.com/v3/__https://i.postimg.cc/SNM4t7vs/updated-schema.png__;!!FkC3_z_N!JJcOTo8MLWYS72yOLdGmPbY8vOwX_B_w1HO2eCNy2NK_4nSWBTu3eKknYiA8rgpJ4E66YWvLPJeAa1Gl$>
https://urldefense.com/v3/__https://i.postimg.cc/RZtcF8bB/Screenshot-2022-10-26-170222.png__;!!FkC3_z_N!PWxH83o-VvWmRGMnhl6_edpBVurmHqqpX-1Hd_Bb3KuXh6tU-eR7XXu2dSYpvb_HgM3r_BxgTd-uwQ$
[i.postimg.cc]<https://urldefense.com/v3/__https://i.postimg.cc/RZtcF8bB/Screenshot-2022-10-26-170222.png__;!!FkC3_z_N!JJcOTo8MLWYS72yOLdGmPbY8vOwX_B_w1HO2eCNy2NK_4nSWBTu3eKknYiA8rgpJ4E66YWvLPNYoRUGC$>
________________________________
From:Thomas Corthals <[email protected]<mailto:[email protected]>>
Sent: Tuesday, October 25, 2022 1:28 AM
To: [email protected]<mailto:[email protected]>
<[email protected]<mailto:[email protected]>>
Subject: Re: I cannot get nested objects to index - with image links
Hi Matthew The (pseudo-)field in which you want to put the nested documents
("content" in your example) should not be added to the schema. The actual
fields of the nested document (id, stuff1, stuff2) need to match an explicit
field definition
ZjQcmQRYFpfptBannerStart
This Message Is From an Untrusted Sender
You have not previously corresponded with this sender.
ZjQcmQRYFpfptBannerEnd
Hi Matthew
The (pseudo-)field in which you want to put the nested documents ("content"
in your example) should not be added to the schema. The actual fields of
the nested document (id, stuff1, stuff2) need to match an explicit field
definition or a dynamicField definition in your schema though.
Thomas
Op ma 24 okt. 2022 om 23:48 schreef Matthew Castrigno
<[email protected]<mailto:[email protected]>>:
> Hello Community, Thank you for taking the time to read my message.
>
> I am attempting to index (update) a document with a nested object.
>
> In reading the documentation is seems to state that the fields of the
> nested object do not need to be and should not be added
>
> to schema.xml. I am getting error that the field of the nested object is
> undefined, and I am not sure what I am doing wrong.
>
> Any insights appreciated. Thank you
>
> https://urldefense.com/v3/__https://i.postimg.cc/25GtB1Mc/update.png__;!!FkC3_z_N!MH9mbztbPvc05Og3x_fcnapmPzux7fhqgdChsAIR0bqiTiV_-BVnIdI8Z---HIWeD5TLbiwytoGIDSsB$
>
>https://urldefense.com/v3/__https://i.postimg.cc/SKk5s6TY/schema.png__;!!FkC3_z_N!MH9mbztbPvc05Og3x_fcnapmPzux7fhqgdChsAIR0bqiTiV_-BVnIdI8Z---HIWeD5TLbiwytlHh85s3$
>
>----------------------------------------------------------------------
> "This message is intended for the use of the person or entity to which it
> is addressed and may contain information that is confidential or
> privileged, the disclosure of which is governed by applicable law. If the
> reader of this message is not the intended recipient, you are hereby
> notified that any dissemination, distribution, or copying of this
> information is strictly prohibited. If you have received this message by
> error, please notify us immediately and destroy the related message."
>
________________________________
"This message is intended for the use of the person or entity to which it is
addressed and may contain information that is confidential or privileged, the
disclosure of which is governed by applicable law. If the reader of this
message is not the intended recipient, you are hereby notified that any
dissemination, distribution, or copying of this information is strictly
prohibited. If you have received this message by error, please notify us
immediately and destroy the related message."
----------------------------------------------------------------------
"This message is intended for the use of the person or entity to which it is
addressed and may contain information that is confidential or privileged, the
disclosure of which is governed by applicable law. If the reader of this
message is not the intended recipient, you are hereby notified that any
dissemination, distribution, or copying of this information is strictly
prohibited. If you have received this message by error, please notify us
immediately and destroy the related message."
----------------------------------------------------------------------
"This message is intended for the use of the person or entity to which it is
addressed and may contain information that is confidential or privileged, the
disclosure of which is governed by applicable law. If the reader of this
message is not the intended recipient, you are hereby notified that any
dissemination, distribution, or copying of this information is strictly
prohibited. If you have received this message by error, please notify us
immediately and destroy the related message."