According to may experience, "query time join" has relatively poor performance. 
If you can cache this joins effectively (not so many unique color values in 
requests, cache doesn't invalidate) - it's ok. If not, it may be interesting to 
try "block join" instead - 
http://blog.griddynamics.com/2013/09/solr-block-join-support.html

11.12.2014, 21:40, "Kydryavtsev Andrey" <werde...@yandex.ru>:
> 11.12.2014, 21:24, "Darin Amos" <dari...@gmail.com>:
>>  Thanks,
>>
>>  That looks like a viable option, I could do something like the following:
>>
>>  q={!join from=parent to=id}<my main search term query>
>>  &fq={!join from=parent to=id}color:red
>>  &fq={!join from=parent to=id}color:blue
>>
>>  With all these joins happening like this, what kind of performance concern 
>> is this? I would guess this would start to cause a lot of work.
>>
>>  Thanks
>>
>>  Darin
>>>   On Dec 11, 2014, at 1:04 PM, Kydryavtsev Andrey <werde...@yandex.ru> 
>>> wrote:
>>>
>>>   How about something like
>>>
>>>   ({!join from=parent to=id}color:red) AND ({!join from=parent 
>>> to=id}color:blue) ?
>>>
>>>   11.12.2014, 19:48, "Darin Amos" <dari...@gmail.com>:
>>>>   Hello,
>>>>
>>>>   I am trying to execute a join query that I am not 100% sure how to 
>>>> execute. Lets say I have a bunch of parent and child documents and every 
>>>> one of my child documents has a single value field “color”.
>>>>
>>>>   If I want to search all parents that have a “red” child, tis is very 
>>>> easy:
>>>>
>>>>   {!join from=parent to=id}color:red
>>>>
>>>>   However, if I want to return only parents that have both a red AND a 
>>>> blue item it gets tricky.
>>>>
>>>>   This query would return parents that have red OR blue
>>>>   {!join from=parent to=id}color:red OR color:blue
>>>>
>>>>   And this query would return nothing since no child had both colors.
>>>>   {!join from=parent to=id}color:red AND color:blue
>>>>
>>>>   Any suggestions? My thinking is I might require some kind of custom 
>>>> query.
>>>>
>>>>   Thanks!
>>>>
>>>>   Darin

Reply via email to