> > The use case on DocumentObjectBinder is that I could override > toSolrInputDocument, and if field = ID, I could do: setField("id", > obj.getClass().getName() + obj.getId()) or something like that. >
Unless I am missing something here, can't you write the getter of id field in your solr bean as underneath? @Field private String id; public getId(){ return (this.getClass().getName() + this.id); } Cheers Avlesh On Fri, Oct 30, 2009 at 1:33 PM, Christian López Espínola < penyask...@gmail.com> wrote: > On Fri, Oct 30, 2009 at 2:04 AM, Avlesh Singh <avl...@gmail.com> wrote: > >> > >> One thing I thought about is if I can define my own > >> DocumentObjectBinder, so I can concatenate my entity names with the > >> IDs in the XML creation. > >> > >> Anyone knows if something like this can be done without modifying > >> Solrj sources? Is there any injection or plugin mecanism for this? > >> > > More details on the use-case please. > > If I index a Book with ID=3, and then a Magazine with ID=3, I'll be > really removing my Book3 and indexing Magazine3. I want both entities > to be in the index. > > The use case on DocumentObjectBinder is that I could override > toSolrInputDocument, and if field = ID, I could do: setField("id", > obj.getClass().getName() + obj.getId()) or something like that. > > The goal is avoiding creating all the XMLs to be sent to Solr but > having the possibility of modifying them in some way. > > Do you know how can I do that, or a better way of achieving the same > results? > > > > Cheers > > Avlesh > > > > On Fri, Oct 30, 2009 at 2:16 AM, Christian López Espínola < > > penyask...@gmail.com> wrote: > > > >> Hi Israel, > >> > >> Thanks for your suggestion, > >> > >> On Thu, Oct 29, 2009 at 9:37 PM, Israel Ekpo <israele...@gmail.com> > wrote: > >> > On Thu, Oct 29, 2009 at 3:31 PM, Christian López Espínola < > >> > penyask...@gmail.com> wrote: > >> > > >> >> Hi, my name is Christian and I'm a newbie introducing to solr (and > >> solrj). > >> >> > >> >> I'm working on a website where I want to index multiple entities, > like > >> >> Book or Magazine. > >> >> The issue I'm facing is both of them have an attribute ID, which I > >> >> want to use as the uniqueKey on my schema, so I cannot identify > >> >> uniquely a document (because ID is saved in a database too, and it's > >> >> autonumeric). > >> >> > >> >> I'm sure that this is a common pattern, but I don't find the way of > >> solving > >> >> it. > >> >> > >> >> How do you usually solve this? Thanks in advance. > >> >> > >> >> > >> >> -- > >> >> Cheers, > >> >> > >> >> Christian López Espínola <penyaskito> > >> >> > >> > > >> > Hi Christian, > >> > > >> > It looks like you are bringing in data to Solr from a database where > >> there > >> > are two separate tables. > >> > > >> > One for *Books* and another one for *Magazines*. > >> > > >> > If this is the case, you could define your uniqueKey element in Solr > >> schema > >> > to be a "string" instead of an integer then you can still load > documents > >> > from both the books and magazines database tables but your could > prefix > >> the > >> > uniqueKey field with "B" for books and "M" for magazines > >> > > >> > Like so : > >> > > >> > <field name="id" type="string" indexed="true" stored="true" > >> > required="true"/> > >> > > >> > <uniqueKey>id</uniqueKey> > >> > > >> > Then when loading the books or magazines into Solr you can create the > >> > documents with id fields like this > >> > > >> > <add> > >> > <doc> > >> > <field name="id">B14000</field> > >> > </doc> > >> > <doc> > >> > <field name="id">M14000</field> > >> > </doc> > >> > <doc> > >> > <field name="id">B14001</field> > >> > </doc> > >> > <doc> > >> > <field name="id">M14001</field> > >> > </doc> > >> > </add> > >> > > >> > I hope this helps > >> > >> This was my first thought, but in practice there isn't Book and > >> Magazine, but about 50 different entities, so I'm using the Field > >> annotation of solrj for simplifying my code (it manages for me the XML > >> creation, etc). > >> One thing I thought about is if I can define my own > >> DocumentObjectBinder, so I can concatenate my entity names with the > >> IDs in the XML creation. > >> > >> Anyone knows if something like this can be done without modifying > >> Solrj sources? Is there any injection or plugin mecanism for this? > >> > >> Thanks in advance. > >> > >> > >> > -- > >> > "Good Enough" is not good enough. > >> > To give anything less than your best is to sacrifice the gift. > >> > Quality First. Measure Twice. Cut Once. > >> > > >> > >> > >> > >> -- > >> Cheers, > >> > >> Christian López Espínola <penyaskito> > >> > > > > > > -- > Cheers, > > Christian López Espínola <penyaskito> >