For example, a dummy schema (if we index the former data in separate
documents) should look like this:

...
                <field name="color" type="string" indexed="true"
stored="true" />
                <field name="year" type="int" indexed="true" stored="true"
/>
                <field name="companyId" type="string" indexed="true"
stored="true" />
                <field name="ownerId" type="string" indexed="true"
stored="true" />
                <field name="name" type="text" indexed="true" stored="true"
/>
                <field name="numEmployees" type="int" indexed="true"
stored="true" />
                <field name="established" type="int" indexed="true"
stored="true" />
                <field name="age" type="text"  indexed="true" stored="true"
/>
                <field name="profession" type="text" indexed="true"
stored="true" />
                <field name="spouseId" type="string" indexed="true"
stored="true" />
                <field name="carOwnedId" type="string" indexed="true"
stored="true" />
...

So as you can see the schema.xml has no information about foreign keys.

With this schema we can answer:

- Give me all the cars done by toyota:

q=id:*&fq={!join%20to=companyId%20from=id}id:23

q=id:*&fq={!join%20to=companyId%20from=id}name:toyo*%20AND%20id:2*

As you can imagine q gives me all the documents and later I filter them
saying just to return those which companyId has a company tha
t satisfies id=23 or in the second example its name start by toyo and its
id starts by 2.

Regards.


On Wed, Nov 6, 2013 at 7:55 PM, Alvaro Cabrerizo <[email protected]> wrote:

> You  can check these links:
>
> http://wiki.apache.org/solr/Join
>
>
> http://stackoverflow.com/questions/12665797/is-solr-4-0-capable-of-using-join-for-multiple-core
>
> Regards.
>
>
> On Wed, Nov 6, 2013 at 1:00 AM, Tech Id <[email protected]> wrote:
>
>> Hi Alvaro,
>>
>> Could you please point me to some link from where I can see how to index
>> two documents separately (joined by foreign keys).
>> Or if you can oblige by putting down some details here itself.
>>
>> *For example*, say if user has entities like :
>>   car  {id:5, color:red, year:2004, companyId:23, ownerId: 57},
>>   company {id:23, name: toyota, numEmployees:1000, established:1980},
>>   owner {id: 57, name: John, age: 50, profession: doctor, spouseId: 78,
>> carOwnedId: 5},
>>   owner {id: 78, name: Maria, age: 45, profession: doctor, spouseId: 57,
>> carOwnedId: 55}
>>   etc.
>> 1) How can the above entities be put into Solr with their foreign keys?
>> 2) Do we need to flatten them absolutely?
>> 3) How are cyclic joins handled in flattening?
>>
>> Some good link on how a join query can be actually run would also be
>> appreciated.
>> (I have some links on the reading part, but a complete example would be
>> good).
>>
>> Thanks
>>
>>
>>
>> On Tue, Nov 5, 2013 at 10:53 AM, Alvaro Cabrerizo <[email protected]
>> >wrote:
>>
>> > In my case, everytime I've used joins, the FROM field was a multivalued
>> > string and the TO was an univalued string.
>> >
>> > Regards.
>> > El 05/11/2013 18:37, "Tech Id" <[email protected]> escribió:
>> >
>> > > I think Solr has the ability to do joins in the latest version as
>> > verified
>> > > on this issue: https://issues.apache.org/jira/browse/SOLR-3076
>> > >
>> > > And some online resources point to this example:
>> > >
>> > >
>> >
>> http://blog.mikemccandless.com/2012/01/searching-relational-content-with.html
>> > > However, I am not sure if the above example is a complete one.
>> > > It leaves a lot for a fresh solr-user to guess about how to customize
>> the
>> > > schema and how to index two documents into Solr before doing a join.
>> > >
>> > >
>> > >
>> > > On Tue, Nov 5, 2013 at 9:31 AM, Tech Id <[email protected]>
>> > wrote:
>> > >
>> > > > Hi,
>> > > >
>> > > > I have been searching for an example of joins using solr/lucene.
>> > > > But I have not found anything either on the net or in the
>> src/examples.
>> > > >
>> > > > Can someone please point me to the same?
>> > > > Ideally, I need a join working with Solrj APIs (Please let me know
>> if
>> > > this
>> > > > group is Lucene-specific).
>> > > >
>> > > >
>> > > > Best Regards
>> > > >
>> > > >
>> > >
>> >
>>
>
>

Reply via email to