Have your tried using the join in the fq instead of the q?
Like this (assuming user_id_i is a field in the post document type and
self_id_i a field in the user document type):
q=posts_text:"hello"&fq={!join from=self_id_i
to=user_id_i}is_active_boolean:true

In this example the fq produces a docset that contains all user
documents that are active. This docset is used as filter during the
execution of the main query (q param),
so it only returns posts with the contain the text hello for active users.

Martijn

On 28 October 2011 01:57, Jason Toy <jason...@gmail.com> wrote:
> Does anyone have any idea on this issue?
>
> On Tue, Oct 25, 2011 at 11:40 AM, Jason Toy <jason...@gmail.com> wrote:
>
>> Hi Yonik,
>>
>> Without a Join I would normally query user docs with:
>> q=data_text:"test"&fq=is_active_boolean:true
>>
>> With joining users with posts, I get no no results:
>> q={!join from=self_id_i
>> to=user_id_i}data_text:"test"&fq=is_active_boolean:true&fq=posts_text:"hello"
>>
>>
>>
>> I am able to use this query, but it gives me the results in an order that I
>> dont want(nor do I understand its order):
>> q={!join from=self_id_i to=user_id_i}data_text:"test" AND
>> is_active_boolean:true&fq=posts_text:"hello"
>>
>> I want the order to be the same as I would get from my original
>> "q=data_text:"test"&fq=is_active_boolean:true", but with the ability to join
>> with the Posts docs.
>>
>>
>>
>>
>>
>> On Tue, Oct 25, 2011 at 11:30 AM, Yonik Seeley <yo...@lucidimagination.com
>> > wrote:
>>
>>> Can you give an example of the request (URL) you are sending to Solr?
>>>
>>> -Yonik
>>> http://www.lucidimagination.com
>>>
>>>
>>>
>>> On Mon, Oct 24, 2011 at 3:31 PM, Jason Toy <jason...@gmail.com> wrote:
>>> > I have 2 types of docs, users and posts.
>>> > I want to view all the docs that belong to certain users by joining
>>> posts
>>> > and users together.  I have to filter the users with a filter query of
>>> > "is_active_boolean:true" so that the score is not effected,but since I
>>> do a
>>> > join, I have to move the filter query to the query parameter so that I
>>> can
>>> > get the filter applied. The problem is that since the is_active_boolean
>>> is
>>> > moved to the query, the score is affected which returns back an order
>>> that I
>>> > don't want.
>>> >  If I leave the is_active_boolean:true in the fq paramater, I get no
>>> > results back.
>>> >
>>> > My question is how can I apply a filter query to users so that the score
>>> is
>>> > not effected?
>>> >
>>>
>>
>>
>>
>> --
>> - sent from my mobile
>>
>>
>>
>
>
> --
> - sent from my mobile
>



-- 
Met vriendelijke groet,

Martijn van Groningen

Reply via email to