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 'http://localhost: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": "" } } }' 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 <castr...@slhs.org> Sent: Thursday, October 27, 2022 10:36 AM To: Thomas Corthals <tho...@klascement.net> Cc: users@solr.apache.org <users@solr.apache.org> 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 <tho...@klascement.net> Sent: Thursday, October 27, 2022 1:34 AM To: Matthew Castrigno <castr...@slhs.org> Cc: users@solr.apache.org <users@solr.apache.org> 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 <castr...@slhs.org<mailto:castr...@slhs.org>>: 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://i.postimg.cc/SNM4t7vs/updated-schema.png [i.postimg.cc]<https://urldefense.com/v3/__https://i.postimg.cc/SNM4t7vs/updated-schema.png__;!!FkC3_z_N!JJcOTo8MLWYS72yOLdGmPbY8vOwX_B_w1HO2eCNy2NK_4nSWBTu3eKknYiA8rgpJ4E66YWvLPJeAa1Gl$> https://i.postimg.cc/RZtcF8bB/Screenshot-2022-10-26-170222.png [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 <tho...@klascement.net<mailto:tho...@klascement.net>> Sent: Tuesday, October 25, 2022 1:28 AM To: users@solr.apache.org<mailto:users@solr.apache.org> <users@solr.apache.org<mailto:users@solr.apache.org>> 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 <castr...@slhs.org<mailto:castr...@slhs.org>>: > 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."