On Mon, Aug 20, 2018 at 6:08 PM Rushikesh Garadade <
rushikeshgarad...@gmail.com> wrote:

> Hi All,
> I have mail as Docuement  and mail's attachments as childDocument  in solr.
>  I am trying to write spring data application to search in all fields and
> return mail document.
> There is one solution :
> {!parent which="<MAIL DOCUMENT IDENTIFIER >" v=<MAIL ATTACHEMENT SEARCH>}
>
which="<MAIL DOCUMENT IDENTIFIER >"  seems wrong. Please check the warning
in parent query parser documentation.


>
> but for this to work->  "<MAIL ATTACHEMENT SEARCH>" keyword should only be
> present in attachement document(child) and not in Mail docuement(parent).
>
> is there any way via which
> 1) We search for any keyword and if it is present in mail attachment
> document its respective mail (its parent) should be returned.
>
You need to combine with OR two clauses, one should search parent docs
field, and the later should search for child hits joining them to
{!parent}.
It's really cumbersome with usual Solr syntax.


> ( I have used copy field '_text_" which copy all fields data in it.)
>
Note: copy field doesn't transfer values between scopes (parent, child).


> 2) If we Search for any specific field in attahcment its parent should
> return . For example "get mail document whose attachmentName:"abc.txt"".
>
this is what {!parent } actually does.


>
> I want to know how to implement this in Spring Data. (there is some method
> called getParent() however I am not sure how to use it).
>

I don't know anything about it but it's hardly can help to solve any of
these problems.

>
> Thanks ,
> Rushikesh Garadade
>


-- 
Sincerely yours
Mikhail Khludnev

Reply via email to