You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by con <co...@gmail.com> on 2008/10/01 07:56:08 UTC

Re: How to select one entity at a time?

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 <co...@gmail.com> 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.


Re: How to select one entity at a time?

Posted by con <co...@gmail.com>.
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 <co...@gmail.com> 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:Neville.Burnell@bmsoft.com.au]
>> >> 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:convoyer@gmail.com]
>> >> > 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:convoyer@gmail.com]
>> >> > >> 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 <co...@gmail.com>
>> 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 <co...@gmail.com> 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.


Re: How to select one entity at a time?

Posted by Shalin Shekhar Mangar <sh...@gmail.com>.
I guess the "both" entity is an inner entity. Only the root level entities
contribute solr documents, the inner ones provide additional fields. So
don't specify the rowtype and you will get both users and managers.

Solr search is based on documents and not on entities. Better not to confuse
them.

On Wed, Oct 1, 2008 at 3:24 PM, con <co...@gmail.com> 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:Neville.Burnell@bmsoft.com.au]
> >> 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:convoyer@gmail.com]
> >> > 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:convoyer@gmail.com]
> >> > >> 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 <co...@gmail.com> 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 <co...@gmail.com> 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.

RE: How to select one entity at a time?

Posted by con <co...@gmail.com>.
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:convoyer@gmail.com]
>>> 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:Neville.Burnell@bmsoft.com.au]
>>> >> 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:convoyer@gmail.com]
>>> >> > 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:convoyer@gmail.com]
>>> >> > >> 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 <co...@gmail.com>
>>> 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 <co...@gmail.com> 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.


RE: How to select one entity at a time?

Posted by con <co...@gmail.com>.
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:convoyer@gmail.com]
>> 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:Neville.Burnell@bmsoft.com.au]
>> >> 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:convoyer@gmail.com]
>> >> > 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:convoyer@gmail.com]
>> >> > >> 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 <co...@gmail.com>
>> 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 <co...@gmail.com> 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--tp19668759p19792225.html
Sent from the Solr - User mailing list archive at Nabble.com.


RE: How to select one entity at a time?

Posted by Neville Burnell <Ne...@bmsoft.com.au>.
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:convoyer@gmail.com]
> 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:Neville.Burnell@bmsoft.com.au]
> >> 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:convoyer@gmail.com]
> >> > 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:convoyer@gmail.com]
> >> > >> 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 <co...@gmail.com>
> 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 <co...@gmail.com> 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.


RE: How to select one entity at a time?

Posted by con <co...@gmail.com>.
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&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:Neville.Burnell@bmsoft.com.au]
>> 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:convoyer@gmail.com]
>> > 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:convoyer@gmail.com]
>> > >> 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 <co...@gmail.com> 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 <co...@gmail.com> 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.


RE: How to select one entity at a time?

Posted by Neville Burnell <Ne...@bmsoft.com.au>.
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:Neville.Burnell@bmsoft.com.au]
> 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:convoyer@gmail.com]
> > 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:convoyer@gmail.com]
> > >> 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 <co...@gmail.com> 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 <co...@gmail.com> 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.


RE: How to select one entity at a time?

Posted by Neville Burnell <Ne...@bmsoft.com.au>.
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:convoyer@gmail.com]
> 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:convoyer@gmail.com]
> >> 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 <co...@gmail.com> 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 <co...@gmail.com> 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.


RE: How to select one entity at a time?

Posted by con <co...@gmail.com>.
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:convoyer@gmail.com]
>> 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 <co...@gmail.com> 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 <co...@gmail.com> 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.


RE: How to select one entity at a time?

Posted by Neville Burnell <Ne...@bmsoft.com.au>.
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:convoyer@gmail.com]
> 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 <co...@gmail.com> 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 <co...@gmail.com> 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.


Re: How to select one entity at a time?

Posted by con <co...@gmail.com>.
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&indent=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 <co...@gmail.com> 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 <co...@gmail.com> 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.


Re: How to select one entity at a time?

Posted by Noble Paul നോബിള്‍ नोब्ळ् <no...@gmail.com>.
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 <co...@gmail.com> 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 <co...@gmail.com> 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