Make sure you're not running into a case sensitivity problem, some stuff
in DIH is case sensitive (and some stuff gets capitalized by the jdbc).
Try using listing.ID instead of listing.id.
On a side note, if you're using mysql, you might want to look at the
CONCAT_WS function.
You might also want to look into a different approach than sub-entities
-
http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201008.mbox/%3
c9f8b39cb3b7c6d4594293ea29ccf438b01702...@icq-mail.icq.il.office.aol.com
%3E

Ephraim Ofir

-----Original Message-----
From: Allistair Crossley [mailto:a...@roxxor.co.uk] 
Sent: Monday, October 04, 2010 2:49 PM
To: solr-user@lucene.apache.org
Subject: Re: DIH sub-entity not indexing

I have tried a more elaborate join also following the features example
of the DIH example but same result - SQL works fine directly but Solr is
not indexing the array of full_names per Listing, e.g.

<entity name="listing" ...>

        <entity name="listing_contact"
                    query="select * from listing_contacts where
listing_id = '${listing.id}'">
                <entity name="contact"
                                        query="select concat(first_name,
concat(' ', last_name)) as full_name from contacts where id =
'${listing_contact.contact_id}'">
                        <field name="contacts" column="full_name" />
                </entity>
            </entity>

</entity>

Am I missing the obvious?

On Oct 4, 2010, at 8:22 AM, Allistair Crossley wrote:

> Hello list,
> 
> I've been successful with DIH to a large extent but a seemingly simple
extra column I need is posing problems. In a nutshell I have 2 entities
let's say - Listing habtm Contact. I have copied the relevant parts of
the configs below.
> 
> I have run my SQL for the sub-entity Contact and this is produces
correct results. No errors are given by Solr on running the import. Yet
no records are being set with the contacts array.
> 
> I have taken out my sub-entity config and replaced it with a simple
template value just to check and values then come through OK.
> 
> So it certainly seems limited to my query or query config somehow. I
followed roughly the example of the DIH bundled example.
> 
> DIH.xml
> =======
> 
> <entity name="listing" ...>
>  ...
>  <entity name="contacts"
> query="select concat(c.first_name, concat(' ', c.last_name)) as
full_name from contacts c inner join listing_contacts lc on c.id =
lc.contact_id where lc.listing_id = '${listing.id}'">
> <field name="contacts" column="full_name" />
> </entity>
> 
> SCHEMA.XML
> 
> <field name="contacts" type="text" indexed="true" stored="true"
multiValued="true" required="false" />
> 
> 
> Any tips appreciated.

Reply via email to