Hi, Hadrik.
Pls check
https://solr.apache.org/guide/solr/latest/query-guide/block-join-query-parser.html#block-mask
A common mistake is to try and use a which parameter that is more
restrictive then the set of all parent documents, in order to filter the
parents that are matched, as in this bad example:
// BAD! DO NOT USE!
q={!parent which="title:join"}comments:support
Happy joining!
On Tue, Oct 11, 2022 at 6:46 PM Hardik Deshmukh <
[email protected]> wrote:
> [
> {
> "id": "doc_1",
> "name": "Harpreet Chaggar",
> "_childDocuments_": [
> { "id": "child_doc_a", "number":
> 22,"created_at":"2020-03-20T00:00:00Z" },
> { "id": "child_doc_b", "number": 10
> ,"created_at":"2021-05-28T00:00:00Z"},
> ]
> },
> {
> "id": "doc_2",
> "name": "Hardik Deshmukh",
> "_childDocuments_": [
> { "id": "child_doc_1", "number":
> 67,"created_at":"2022-03-20T00:00:00Z" },
> { "id": "child_doc_2", "number": 78
> ,"created_at":"2022-05-28T00:00:00Z"},
> ]
> },
> ]
> My objective is to make exclude query for a nested Date Data along with
> some parent conditions and to return parent document for all queries.
> I am trying to fetch "id" : "doc_2", "name": "Hardik Deshmukh" by the
> following query. Note:- I need parent document in return.
> q = {!parent which='(name:("Hardik" OR "Harpreet") AND
> id:"doc_1")'}-created_at:[2020-01-17T00:00:00Z TO 2021-12-17T00:00:00Z]
> But I am not getting any results.
> To make sure if the date query is working properly, I executed the below
> query.
> q = -created_at:[2020-01-17T00:00:00Z TO 2021-12-17T00:00:00Z]
> And it was working.
> "response":{"numFound":4,"start":0,"numFoundExact":true,"docs":[
> {
> "id":"doc_1",
> "name":["Harpreet Chaggar"],
> "_version_":1746310602768252928},
> {
> "id":"child_doc_1",
> "number":["67"],
> "created_at":"2022-03-20T00:00:00Z",
> "_version_":1746310602791321600},
> {
> "id":"child_doc_2",
> "number":["78"],
> "created_at":"2022-05-28T00:00:00Z",
> "_version_":1746310602791321600},
> {
> "id":"doc_2",
> "name":["Hardik Deshmukh"],
> "_version_":1746310602791321600}]
> }}
> Field types:
> For created_at
> Field-Type:org.apache.solr.schema.DatePointField
>
> For name
> Field-Type:org.apache.solr.schema.TextField
>
> And if I want to fetch "id": "doc_1", I am able to get it by executing the
> following query.
> {!parent which='(name:("Hardik" OR "Harpreet") AND id:"doc_1")'} (
> created_at:[2020-01-17T00:00:00Z TO 2021-12-17T00:00:00Z] )
> It fetches desired results.
> "response":{"numFound":1,"start":0,"numFoundExact":true,"docs":[
> {
> "id":"doc_1",
> "name":["Harpreet Chaggar"],
> "_version_":1746310602768252928}]
> }}
>
> TL;DR
>
> The below query should give "id": "doc_2", but it is not giving any result.
> q = {!parent which='(name:("Hardik" OR "Harpreet") AND
> id:"doc_1")'}-created_at:[2020-01-17T00:00:00Z TO 2021-12-17T00:00:00Z]
>
>
> Thanks & Regards,
> Hardik Deshmukh
> ------------------------------------------------
> Cheers Interactive
> !nformation | !ntelligence | !nsightTM
> ------------------------------------------------
> India
> Millennium Business Park,
> Sector 3, Building # 4,
> Mahape,
> Navi Mumbai - 400710
> Board : +91 22 6772 5700
> Email : [email protected]<mailto:
> [email protected]>
> www.cheersin.com<http://www.cheersin.com/>
> Please consider the environment before printing this email.
>
> "This message is intended only for the person or entity to which it is
> addressed and may contain confidential and/or privileged information. If
> you have received this message in error, please notify the sender
> immediately and delete this message from your system. Reasonable
> precautions have been taken to ensure that this message is virus-free.
> However, Cheers Interactive (India) Pvt Ltd does not accept responsibility
> for any loss or damage arising from the use of this message or attachments".
>
>
>
>
--
Sincerely yours
Mikhail Khludnev