You can do concatenation johns and then put into Solr. You can denormalize the 
results. Everyone is telling you the same thing.

Select customer_name, (select group_concat(city) from address where 
nameid=customers.nameid) as state_bar from customers

DIH handler has a way to split on comma to add to a multiValued field.

As I also mentioned elsewhere you can concat into an XML field and store it 
into the index. That works fantastic to denormalize.

Why do you need everything in the index? Why not do an external field to get it 
later ? Are you trying to search on something? What? If you need the adds 
searchable then searching on city or state is pretty useful as I showed above,

Sent from my Mobile device
720-256-8076

On Mar 11, 2012, at 10:59 AM, Angelyna Bola <angelyna.b...@gmail.com> wrote:

> Walter,
> 
> :: Fields can be multi-valued. Put multiple phone numbers in a field
> and match all of them.
> 
> Thank you for the suggestion, unfortunately I oversimplified my example =(
> 
> Let me try again:
> 
>    I should have said that I need to match on 2 fields (as a set) from
> within a given child table.
> 
>    Logically, I need to query in Solr for Customers who:
> 
>        - Have an address in a given state (e.g. NY) and that address is of
> a given type (e.g. condo)
>        - Have a phone in a given area code (e.g. 212) and of a given brand
> (e.g. Nokia)
>        - Are a given gender (e.g. male)
> 
> Respectfully,
> 
> Angelyna
> 
> 
> 
> On Sat, Mar 10, 2012 at 7:58 PM, Angelina Bola <angelyna.b...@gmail.com> 
> wrote:
>> Does "Solr" support a 3-way join? i.e.
>> http://wiki.apache.org/solr/Join (I have the 2-way join working)
>> 
>> For example, I am pulling 3 different tables from a RDBMS into one Solr core:
>> 
>>   Table#1: Customers     (parent table)
>>   Table#2: Addresses  (child table with foreign key to customers)
>>   Table#3: Phones     (child table with foreign key to customers)
>> 
>> with a ONE to MANY relationship between:
>> 
>>        Customers and Addresses
>>        Customers and Phones
>> 
>> When I pull them into Solr I cannot denormalize the relationships as a
>> given customers can have many addresses and many phones.
>> 
>> When they come into the my single core (customerInfo), each document
>> gets a customerInfo_type and a uid corresponding to that type, for
>> example:
>> 
>>        Customer Document
>>                customerInfo_type='customer'
>>                customer_id
>> 
>>        Address Document
>>                customerInfo_type='address'
>>                fk_address_customer_id
>> 
>>        Phone Document
>>                customerInfo_type='phone'
>>                fk_phone_customer_id
>> 
>> Logically, I need to query in Solr for Customers who:
>> 
>>        - Have an address in a given state
>>        - Have a phone in a given area code
>>        - Are a given gender
>> 
>> Syntactically, it would think it would look like:
>> 
>>  - http://localhost:8983/solr/customerInfo/select/?
>>     q={!join from=fk_address_customer_id to=customer_id}address_State:Maine&
>>     fq={!join from=customer_id to=fk_phone_customer_id}phone_area_code:212&
>>     fq=customer_gender:female
>> 
>> But that does not work for me.
>> 
>> Appreciate any thoughts,
>> 
>> Angelyna

Reply via email to