This will be fine if there is only one "both" entity. It is quite common that
there will be more than one "both" like queries. That is queries that
connect more than one table. In such a case how can I distinguish one
particular entity at a time. 

> Solr search is based on documents and not on entities. Better not to
> confuse
them.
Ok. I am actually saying from the data-config.xml perspective.:-)


Shalin Shekhar Mangar wrote:
> 
> 
> 
> On Wed, Oct 1, 2008 at 3:24 PM, con <[EMAIL PROTECTED]> wrote:
> 
>>
>> 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<http://localhost:8983/solr/select/?q=%28bob>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<http://localhost:8983/solr/select/?q=%28150>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&indent=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<http://localhost:8983/solr/select/?q=%28bob>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.
>>
>>
> 
> 
> -- 
> Regards,
> Shalin Shekhar Mangar.
> 
> 

-- 
View this message in context: 
http://www.nabble.com/How-to-select-one-entity-at-a-time--tp19668759p19758056.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to