Is there some other arguments that can be entered to this entity, so that we can invoke it by its rowtype?
thanks con con wrote: > > Hi Burnell > As we know in the real enterprise application the queries will be always > complex than what I have posted here. That time I fear, this approach may > not be sufficient. Especially when the query has to handle multiple > conditions or joins or more complex operations like that. > So I suppose if there is a way by which we can handle "both" just like > "user", that will be a more stable approach. > > Thanks for your suggestion > con > > > Neville Burnell wrote: >> >> Hi Con, >> >> I'm not sure if you need the 'both' entity. >> >> For example, perhaps the following query will work for you to retrieve >> both? >> >> http://localhost:8983/solr/select/?q=bob AND (rowtype:user OR >> rowtype:manager)&version=2.2&start=0&rows=10&indent=on >> >> >> >>> -----Original Message----- >>> From: con [mailto:[EMAIL PROTECTED] >>> Sent: Wednesday, 1 October 2008 7:54 PM >>> To: solr-user@lucene.apache.org >>> Subject: RE: How to select one entity at a time? >>> >>> >>> And finally its almost fine.. :jumping: :jumping: :jumping: >>> Thanks Burnell. >>> >>> My tables are in Oracle DB. >>> So based on your suggestions the changes made are: >>> 1) In the data-config.xml, >>> <entity name="user" transformer="TemplateTransformer" >>> query="select * >>> from USER"> >>> <field column="rowtype" template="user" /> >>> </entity> >>> <entity name="manager" transformer="TemplateTransformer" >>> query="select * >>> from MANAGER"> >>> <field column="rowtype" template="user" /> >>> </entity> >>> >>> 2) In schema.xml >>> <field name="rowtype" type="string" indexed="true" stored="true" >>> required="true" /> >>> >>> And when I call http://localhost:8983/solr/select/?q=(bob AND >>> rowtype:user)&version=2.2&start=0&rows=10&indent=on >>> only the user entity's values are returned and if I use manager, only >>> the >>> manager's values will be returned... >>> It almost solved my issues.(95%). >>> >>> But I am struck at one point. >>> In the data-config.xml I have an entry like, >>> >>> <entity name="both" transformer="TemplateTransformer" >>> query="select * >>> from USER , MANAGER where USER.userID = MANAGER.userID "> >>> <field column="rowtype" template="both" /> >>> </entity> >>> when i try to search like, http://localhost:8983/solr/select/?q=(150 >>> AND >>> rowtype:both)&version=2.2&start=0&rows=10&indent=on >>> will return zero responces. >>> At the same time if I run >>> http://localhost:8983/solr/select/?q=150&version=2.2&start=0&rows=10&in >>> dent=on >>> It will get values from both USER and MANAGER satisfying the condition. >>> Is there any difference in applying transformer in such type of >>> queries. >>> >>> Once again, >>> Thanks a lot:handshake: >>> >>> Expecting reply >>> con >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> Neville Burnell wrote: >>> > >>> > BTW, You will also need to configure your schema.xml to index [and >>> store?] >>> > the rowtype attribute: >>> > >>> > <field name="rowtype" type="string" indexed="true" stored="true" >>> > required="true" /> >>> > >>> > Or alternatively change rowtype to be say rowtype_s to take advantage >>> of >>> > Solr's dynamic field definitions. >>> > >>> >> -----Original Message----- >>> >> From: Neville Burnell [mailto:[EMAIL PROTECTED] >>> >> Sent: Wednesday, 1 October 2008 6:06 PM >>> >> To: solr-user@lucene.apache.org >>> >> Subject: RE: How to select one entity at a time? >>> >> >>> >> Hi Con, >>> >> >>> >> what RDBMS are you using? >>> >> >>> >> This looks like a SQL syntax problem, perhaps the 'literal as >>> column' >>> >> is not right for your setup [while it works for my MS SQL Server]. >>> >> >>> >> An alternative to supplying the "rowtype" attribute as a literal in >>> the >>> >> SQL clause is to use a Solr DIH Template Transformer >>> >> http://wiki.apache.org/solr/DataImportHandler#transformer >>> >> >>> >> This should allow you to keep the working SQL. For example >>> >> >>> >> <entity name="user" transformer="TemplateTransformer" query="select >>> * >>> >> from USER"> >>> >> <field column="rowtype" template="user" /> >>> >> </entity> >>> >> >>> >> >>> >> > -----Original Message----- >>> >> > From: con [mailto:[EMAIL PROTECTED] >>> >> > Sent: Wednesday, 1 October 2008 5:48 PM >>> >> > To: solr-user@lucene.apache.org >>> >> > Subject: RE: How to select one entity at a time? >>> >> > >>> >> > >>> >> > That is exactly what my problem is.:handshake: >>> >> > Thanks for you reply. >>> >> > >>> >> > But I tried your suggestion: >>> >> > Updated the data-config.xml as; >>> >> > >>> >> > <entity name="user" query="select 'user' as rowtype, * from >>> >> > USER"></entity> >>> >> > <entity name="manager" query="select 'manager' as rowtype, * from >>> >> > MANAGERS"></entity> >>> >> > >>> >> > But when I perform the full import itself, it is throwing >>> exception, >>> >> > >>> >> > SEVERE: Exception while processing: user document : >>> >> > SolrInputDocumnt[{}] >>> >> > org.apache.solr.handler.dataimport.DataImportHandlerException: >>> >> > Unable to >>> >> > execute >>> >> > query: select 'user' as rowtype,* from USER Processing >>> Document # >>> >> 1 >>> >> > ....... >>> >> > So, as expected, when I go to search it is giving- undefined field >>> >> > rowtype- >>> >> > error.!!! >>> >> > Do I need to update any other files or fields? >>> >> > >>> >> > I am happy that it worked for you...:jumping::jumping: >>> >> > Looking forward for your reply >>> >> > Thanks >>> >> > con >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > Neville Burnell wrote: >>> >> > > >>> >> > > Hi, >>> >> > > >>> >> > >> But while performing a search, if I want to search only the >>> data >>> >> > from >>> >> > >> USER table, how can I acheive it. >>> >> > > >>> >> > > In my app+solr index, we solved this problem by "tagging" >>> entities >>> >> > with a >>> >> > > "rowtype" attribute, something like this: >>> >> > > >>> >> > > <entity name="user" query="select 'user' as rowtype, * from >>> >> > > USER"></entity> >>> >> > > <entity name="manager" query="select 'manager' as rowtype, * >>> from >>> >> > > MANAGERS"></entity> >>> >> > > >>> >> > > Then your 'users' only query becomes something like: >>> >> > > >>> >> > > http://localhost:8983/solr/select/?q=(bob AND >>> >> > > rowtype:user)&version=2.2&start=0&rows=10&indent=on&wt=json >>> >> > > >>> >> > > Hope this helps >>> >> > > >>> >> > > >>> >> > > >>> >> > >> -----Original Message----- >>> >> > >> From: con [mailto:[EMAIL PROTECTED] >>> >> > >> Sent: Wednesday, 1 October 2008 4:54 PM >>> >> > >> To: solr-user@lucene.apache.org >>> >> > >> Subject: Re: How to select one entity at a time? >>> >> > >> >>> >> > >> >>> >> > >> Of course I agree. >>> >> > >> But while performing a search, if I want to search only the >>> data >>> >> > from >>> >> > >> USER >>> >> > >> table, how can I acheive it. >>> >> > >> >>> >> > >> Suppose I have a user name bob in both USER and MANAGER tables. >>> So >>> >> > when >>> >> > >> I >>> >> > >> perform http://localhost:8983/solr/dataimport?command=full- >>> import >>> >> , >>> >> > all >>> >> > >> the >>> >> > >> USER and MANAGER values will get indexed. >>> >> > >> And when i do a search like, >>> >> > >> >>> >> > >>> >> >>> http://localhost:8983/solr/select/?q=bob&version=2.2&start=0&rows=10&in >>> >> > >> dent=on&wt=json >>> >> > >> it will return all the values indexed from both USER and >>> MANAGER >>> >> > table. >>> >> > >> But I want only the data indexed from either USER table or >>> MANAGER >>> >> > >> table at >>> >> > >> a time based on the end user's choice. How can I achieve it. >>> >> > >> >>> >> > >> Thanks for your reply >>> >> > >> con >>> >> > >> >>> >> > >> >>> >> > >> Noble Paul നോബിള് नोब्ळ् wrote: >>> >> > >> > >>> >> > >> > The entity and the select query has no relationship >>> >> > >> > The entity comes into picture when you do a dataimport >>> >> > >> > >>> >> > >> > eg: >>> >> > >> > http://localhost:8983/solr/dataimport?command=full- >>> >> > import&enity=user >>> >> > >> > >>> >> > >> > This is an indexing operation >>> >> > >> > >>> >> > >> > On Wed, Oct 1, 2008 at 11:26 AM, con <[EMAIL PROTECTED]> >>> wrote: >>> >> > >> >> >>> >> > >> >> Hi guys, >>> >> > >> >> In the URL, http://localhost:8983/solr/select/?q= >>> >> > >> >> XXXX:bob&version=2.2&start=0&rows=10&indent=on&wt=json >>> >> > >> >> >>> >> > >> >> q=XXXX: applies to a field and not to an entity. So If I >>> have 3 >>> >> > >> entities >>> >> > >> >> like: >>> >> > >> >> >>> >> > >> >> <dataConfig> >>> >> > >> >> <dataSource **********/> >>> >> > >> >> <document> >>> >> > >> >> <entity name="user" query="select * >>> from >>> >> > >> USER"> >>> >> > >> >> </entity> >>> >> > >> >> >>> >> > >> >> <entity name="manager" query="select >>> * >>> >> > from >>> >> > >> >> MANAGERS"> >>> >> > >> >> </entity> >>> >> > >> >> >>> >> > >> >> <entity name="both" query="select * >>> from >>> >> > >> >> MANAGERS,USER where MANAGERS.userID= USER .userID"> >>> >> > >> >> </entity> >>> >> > >> >> </document> >>> >> > >> >> </dataConfig> >>> >> > >> >> >>> >> > >> >> I cannot invoke the entity, 'user', just like the above url. >>> i >>> >> > went >>> >> > >> >> through >>> >> > >> >> the possible arguments but didnt found a way to invoke an >>> >> entity. >>> >> > Is >>> >> > >> >> there a >>> >> > >> >> way for this purpose. >>> >> > >> >> ragards >>> >> > >> >> con >>> >> > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > >> >> con wrote: >>> >> > >> >>> >>> >> > >> >>> Thanks Everybody. >>> >> > >> >>> I have went through the wiki and some other docs. Actually >>> I >>> >> > have a >>> >> > >> >>> tight >>> >> > >> >>> schedule and I have to look into various other things along >>> >> with >>> >> > >> this. >>> >> > >> >>> Currently I am looking into rebuilding solr by writing a >>> >> wrapper >>> >> > >> class. >>> >> > >> >>> I will update you with more meaningful questions soon.. >>> >> > >> >>> thanks and regards. >>> >> > >> >>> con >>> >> > >> >>> >>> >> > >> >>> >>> >> > >> >>> Norberto Meijome-6 wrote: >>> >> > >> >>>> >>> >> > >> >>>> On Fri, 26 Sep 2008 02:35:18 -0700 (PDT) >>> >> > >> >>>> con <[EMAIL PROTECTED]> wrote: >>> >> > >> >>>> >>> >> > >> >>>>> What you meant is correct only. Please excuse for that I >>> am >>> >> > new >>> >> > >> to >>> >> > >> >>>>> solr. >>> >> > >> >>>>> :-( >>> >> > >> >>>> >>> >> > >> >>>> Con, have a read here : >>> >> > >> >>>> >>> >> > >> >>>> http://www.ibm.com/developerworks/java/library/j-solr1/ >>> >> > >> >>>> >>> >> > >> >>>> it helped me pick up the basics a while back. it refers to >>> >> 1.2, >>> >> > >> but the >>> >> > >> >>>> core concepts are relevant to 1.3 too. >>> >> > >> >>>> >>> >> > >> >>>> b >>> >> > >> >>>> _________________________ >>> >> > >> >>>> {Beto|Norberto|Numard} Meijome >>> >> > >> >>>> >>> >> > >> >>>> Hildebrant's Principle: >>> >> > >> >>>> If you don't know where you are going, >>> >> > >> >>>> any road will get you there. >>> >> > >> >>>> >>> >> > >> >>>> I speak for myself, not my employer. Contents may be hot. >>> >> > Slippery >>> >> > >> when >>> >> > >> >>>> wet. Reading disclaimers makes you go blind. Writing them >>> is >>> >> > >> worse. You >>> >> > >> >>>> have been Warned. >>> >> > >> >>>> >>> >> > >> >>>> >>> >> > >> >>> >>> >> > >> >>> >>> >> > >> >> >>> >> > >> >> -- >>> >> > >> >> View this message in context: >>> >> > >> >> http://www.nabble.com/How-to-select-one-entity-at-a-time-- >>> >> > >> tp19668759p19754869.html >>> >> > >> >> Sent from the Solr - User mailing list archive at >>> Nabble.com. >>> >> > >> >> >>> >> > >> >> >>> >> > >> > >>> >> > >> > >>> >> > >> > >>> >> > >> > -- >>> >> > >> > --Noble Paul >>> >> > >> > >>> >> > >> > >>> >> > >> >>> >> > >> -- >>> >> > >> View this message in context: http://www.nabble.com/How-to- >>> select- >>> >> > one- >>> >> > >> entity-at-a-time--tp19668759p19755437.html >>> >> > >> Sent from the Solr - User mailing list archive at Nabble.com. >>> >> > > >>> >> > > >>> >> > > >>> >> > >>> >> > -- >>> >> > View this message in context: http://www.nabble.com/How-to-select- >>> >> one- >>> >> > entity-at-a-time--tp19668759p19755987.html >>> >> > Sent from the Solr - User mailing list archive at Nabble.com. >>> > >>> > >>> > >>> :drunk::drunk::jumping::jumping: >>> -- >>> View this message in context: http://www.nabble.com/How-to-select-one- >>> entity-at-a-time--tp19668759p19757360.html >>> Sent from the Solr - User mailing list archive at Nabble.com. >> >> >> > > -- View this message in context: http://www.nabble.com/How-to-select-one-entity-at-a-time--tp19668759p19796867.html Sent from the Solr - User mailing list archive at Nabble.com.