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.