RE: How to select one entity at a time?

2008-10-01 Thread Neville Burnell
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.2start=0rows=10indent=onwt=json

Hope this helps


 
 -Original Message-
 From: con [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, 1 October 2008 4:54 PM
 To: solr-user@lucene.apache.org
 Subject: Re: How to select one entity at a time?
 
 
 Of course I agree.
 But while performing a search, if I want to search only the data from
 USER
 table, how can I acheive it.
 
 Suppose I have a user name bob in both USER and MANAGER tables. So when
 I
 perform http://localhost:8983/solr/dataimport?command=full-import , all
 the
 USER and MANAGER values will get indexed.
 And when i do a search like,
 http://localhost:8983/solr/select/?q=bobversion=2.2start=0rows=10in
 dent=onwt=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-importenity=user
 
  This is an indexing operation
 
  On Wed, Oct 1, 2008 at 11:26 AM, con [EMAIL PROTECTED] wrote:
 
  Hi guys,
  In the URL, http://localhost:8983/solr/select/?q=
  :bobversion=2.2start=0rows=10indent=onwt=json
 
  q=: applies to a field and not to an entity. So If I have 3
 entities
  like:
 
  dataConfig
 dataSource **/
 document
 entity name=user query=select * from
 USER
 /entity
 
 entity name=manager query=select * from
  MANAGERS
 /entity
 
 entity name=both query=select * from
  MANAGERS,USER where MANAGERS.userID= USER .userID
 /entity
 /document
  /dataConfig
 
  I cannot invoke the entity, 'user', just like the above url. i went
  through
  the possible arguments but didnt found a way to invoke an entity. Is
  there a
  way for this purpose.
  ragards
  con
 
 
 
 
 
 
  con wrote:
 
  Thanks Everybody.
  I have went through the wiki and some other docs. Actually I have a
  tight
  schedule and I have to look into various other things along with
 this.
  Currently I am looking into rebuilding solr by writing a wrapper
 class.
  I will update you with more meaningful questions soon..
  thanks and regards.
  con
 
 
  Norberto Meijome-6 wrote:
 
  On Fri, 26 Sep 2008 02:35:18 -0700 (PDT)
  con [EMAIL PROTECTED] wrote:
 
  What you meant is correct only. Please excuse for that I am new
 to
  solr.
  :-(
 
  Con, have a read here :
 
  http://www.ibm.com/developerworks/java/library/j-solr1/
 
  it helped me pick up the basics a while back. it refers to 1.2,
 but the
  core concepts are relevant to 1.3 too.
 
  b
  _
  {Beto|Norberto|Numard} Meijome
 
  Hildebrant's Principle:
  If you don't know where you are going,
  any road will get you there.
 
  I speak for myself, not my employer. Contents may be hot. Slippery
 when
  wet. Reading disclaimers makes you go blind. Writing them is
 worse. You
  have been Warned.
 
 
 
 
 
  --
  View this message in context:
  http://www.nabble.com/How-to-select-one-entity-at-a-time--
 tp19668759p19754869.html
  Sent from the Solr - User mailing list archive at Nabble.com.
 
 
 
 
 
  --
  --Noble Paul
 
 
 
 --
 View this message in context: http://www.nabble.com/How-to-select-one-
 entity-at-a-time--tp19668759p19755437.html
 Sent from the Solr - User mailing list archive at Nabble.com.



RE: How to select one entity at a time?

2008-10-01 Thread Neville Burnell
Hi Con,

what RDBMS are you using?

This looks like a SQL syntax problem, perhaps the 'literal as column' is not 
right for your setup [while it works for my MS SQL Server].
 
An alternative to supplying the rowtype attribute as a literal in the SQL 
clause is to use a Solr DIH Template Transformer 
http://wiki.apache.org/solr/DataImportHandler#transformer

This should allow you to keep the working SQL. For example

entity name=user transformer=TemplateTransformer query=select * from 
USER
field column=rowtype template=user /
/entity


 -Original Message-
 From: con [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, 1 October 2008 5:48 PM
 To: solr-user@lucene.apache.org
 Subject: RE: How to select one entity at a time?
 
 
 That is exactly what my problem is.:handshake:
 Thanks for you reply.
 
 But I tried your suggestion:
 Updated the data-config.xml as;
 
 entity name=user query=select 'user' as rowtype, * from
 USER/entity
 entity name=manager query=select 'manager' as rowtype, * from
 MANAGERS/entity
 
 But when I perform the full import itself, it is throwing exception,
 
SEVERE: Exception while processing: user document :
 SolrInputDocumnt[{}]
 org.apache.solr.handler.dataimport.DataImportHandlerException:
 Unable to
 execute
 query: select 'user' as rowtype,* from USER Processing Document # 1
 ...
 So, as expected, when I go to search it is giving- undefined field
 rowtype-
 error.!!!
 Do I need to update any other files or fields?
 
 I am happy that it worked for you...:jumping::jumping:
 Looking forward for your reply
 Thanks
 con
 
 
 
 
 Neville Burnell wrote:
 
  Hi,
 
  But while performing a search, if I want to search only the data
 from
  USER table, how can I acheive it.
 
  In my app+solr index, we solved this problem by tagging entities
 with a
  rowtype attribute, something like this:
 
  entity name=user query=select 'user' as rowtype, * from
  USER/entity
  entity name=manager query=select 'manager' as rowtype, * from
  MANAGERS/entity
 
  Then your 'users' only query becomes something like:
 
  http://localhost:8983/solr/select/?q=(bob AND
  rowtype:user)version=2.2start=0rows=10indent=onwt=json
 
  Hope this helps
 
 
 
  -Original Message-
  From: con [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, 1 October 2008 4:54 PM
  To: solr-user@lucene.apache.org
  Subject: Re: How to select one entity at a time?
 
 
  Of course I agree.
  But while performing a search, if I want to search only the data
 from
  USER
  table, how can I acheive it.
 
  Suppose I have a user name bob in both USER and MANAGER tables. So
 when
  I
  perform http://localhost:8983/solr/dataimport?command=full-import ,
 all
  the
  USER and MANAGER values will get indexed.
  And when i do a search like,
 
 http://localhost:8983/solr/select/?q=bobversion=2.2start=0rows=10in
  dent=onwt=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-
 importenity=user
  
   This is an indexing operation
  
   On Wed, Oct 1, 2008 at 11:26 AM, con [EMAIL PROTECTED] wrote:
  
   Hi guys,
   In the URL, http://localhost:8983/solr/select/?q=
   :bobversion=2.2start=0rows=10indent=onwt=json
  
   q=: applies to a field and not to an entity. So If I have 3
  entities
   like:
  
   dataConfig
  dataSource **/
  document
  entity name=user query=select * from
  USER
  /entity
  
  entity name=manager query=select *
 from
   MANAGERS
  /entity
  
  entity name=both query=select * from
   MANAGERS,USER where MANAGERS.userID= USER .userID
  /entity
  /document
   /dataConfig
  
   I cannot invoke the entity, 'user', just like the above url. i
 went
   through
   the possible arguments but didnt found a way to invoke an entity.
 Is
   there a
   way for this purpose.
   ragards
   con
  
  
  
  
  
  
   con wrote:
  
   Thanks Everybody.
   I have went through the wiki and some other docs. Actually I
 have a
   tight
   schedule and I have to look into various other things along with
  this.
   Currently I am looking into rebuilding solr by writing a wrapper
  class.
   I will update you with more meaningful questions soon..
   thanks and regards.
   con
  
  
   Norberto Meijome-6 wrote:
  
   On Fri, 26 Sep 2008 02:35:18 -0700 (PDT)
   con [EMAIL PROTECTED] wrote:
  
   What you meant is correct only. Please excuse for that I am
 new
  to
   solr.
   :-(
  
   Con, have a read here

RE: How to select one entity at a time?

2008-10-01 Thread Neville Burnell
BTW, You will also need to configure your schema.xml to index [and store?] the 
rowtype attribute:

   field name=rowtype type=string indexed=true stored=true 
required=true /

Or alternatively change rowtype to be say rowtype_s to take advantage of Solr's 
dynamic field definitions.

 -Original Message-
 From: Neville Burnell [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, 1 October 2008 6:06 PM
 To: solr-user@lucene.apache.org
 Subject: RE: How to select one entity at a time?
 
 Hi Con,
 
 what RDBMS are you using?
 
 This looks like a SQL syntax problem, perhaps the 'literal as column'
 is not right for your setup [while it works for my MS SQL Server].
 
 An alternative to supplying the rowtype attribute as a literal in the
 SQL clause is to use a Solr DIH Template Transformer
 http://wiki.apache.org/solr/DataImportHandler#transformer
 
 This should allow you to keep the working SQL. For example
 
 entity name=user transformer=TemplateTransformer query=select *
 from USER
   field column=rowtype template=user /
 /entity
 
 
  -Original Message-
  From: con [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, 1 October 2008 5:48 PM
  To: solr-user@lucene.apache.org
  Subject: RE: How to select one entity at a time?
 
 
  That is exactly what my problem is.:handshake:
  Thanks for you reply.
 
  But I tried your suggestion:
  Updated the data-config.xml as;
 
  entity name=user query=select 'user' as rowtype, * from
  USER/entity
  entity name=manager query=select 'manager' as rowtype, * from
  MANAGERS/entity
 
  But when I perform the full import itself, it is throwing exception,
 
 SEVERE: Exception while processing: user document :
  SolrInputDocumnt[{}]
  org.apache.solr.handler.dataimport.DataImportHandlerException:
  Unable to
  execute
  query: select 'user' as rowtype,* from USER Processing Document #
 1
  ...
  So, as expected, when I go to search it is giving- undefined field
  rowtype-
  error.!!!
  Do I need to update any other files or fields?
 
  I am happy that it worked for you...:jumping::jumping:
  Looking forward for your reply
  Thanks
  con
 
 
 
 
  Neville Burnell wrote:
  
   Hi,
  
   But while performing a search, if I want to search only the data
  from
   USER table, how can I acheive it.
  
   In my app+solr index, we solved this problem by tagging entities
  with a
   rowtype attribute, something like this:
  
   entity name=user query=select 'user' as rowtype, * from
   USER/entity
   entity name=manager query=select 'manager' as rowtype, * from
   MANAGERS/entity
  
   Then your 'users' only query becomes something like:
  
   http://localhost:8983/solr/select/?q=(bob AND
   rowtype:user)version=2.2start=0rows=10indent=onwt=json
  
   Hope this helps
  
  
  
   -Original Message-
   From: con [mailto:[EMAIL PROTECTED]
   Sent: Wednesday, 1 October 2008 4:54 PM
   To: solr-user@lucene.apache.org
   Subject: Re: How to select one entity at a time?
  
  
   Of course I agree.
   But while performing a search, if I want to search only the data
  from
   USER
   table, how can I acheive it.
  
   Suppose I have a user name bob in both USER and MANAGER tables. So
  when
   I
   perform http://localhost:8983/solr/dataimport?command=full-import
 ,
  all
   the
   USER and MANAGER values will get indexed.
   And when i do a search like,
  
 
 http://localhost:8983/solr/select/?q=bobversion=2.2start=0rows=10in
   dent=onwt=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-
  importenity=user
   
This is an indexing operation
   
On Wed, Oct 1, 2008 at 11:26 AM, con [EMAIL PROTECTED] wrote:
   
Hi guys,
In the URL, http://localhost:8983/solr/select/?q=
:bobversion=2.2start=0rows=10indent=onwt=json
   
q=: 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

RE: How to select one entity at a time?

2008-10-01 Thread Neville Burnell
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.2start=0rows=10indent=on



 -Original Message-
 From: con [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, 1 October 2008 7:54 PM
 To: solr-user@lucene.apache.org
 Subject: RE: How to select one entity at a time?
 
 
 And finally its almost fine.. :jumping: :jumping: :jumping:
 Thanks Burnell.
 
 My tables are in Oracle DB.
 So based on your suggestions the changes made are:
 1) In the data-config.xml,
 entity name=user transformer=TemplateTransformer
 query=select *
 from USER
 field column=rowtype template=user /
 /entity
entity name=manager transformer=TemplateTransformer
 query=select *
 from MANAGER
 field column=rowtype template=user /
 /entity
 
 2) In schema.xml
 field name=rowtype type=string indexed=true stored=true
 required=true /
 
 And when I call http://localhost:8983/solr/select/?q=(bob AND
 rowtype:user)version=2.2start=0rows=10indent=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.2start=0rows=10indent=on
 will return zero responces.
 At the same time if I run
 http://localhost:8983/solr/select/?q=150version=2.2start=0rows=10in
 dent=on
 It will get values from both USER and MANAGER satisfying the condition.
 Is there any difference in applying transformer in such type of
 queries.
 
 Once again,
 Thanks a lot:handshake:
 
 Expecting reply
 con
 
 
 
 
 
 
 
 
 
 Neville Burnell wrote:
 
  BTW, You will also need to configure your schema.xml to index [and
 store?]
  the rowtype attribute:
 
 field name=rowtype type=string indexed=true stored=true
  required=true /
 
  Or alternatively change rowtype to be say rowtype_s to take advantage
 of
  Solr's dynamic field definitions.
 
  -Original Message-
  From: Neville Burnell [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, 1 October 2008 6:06 PM
  To: solr-user@lucene.apache.org
  Subject: RE: How to select one entity at a time?
 
  Hi Con,
 
  what RDBMS are you using?
 
  This looks like a SQL syntax problem, perhaps the 'literal as
 column'
  is not right for your setup [while it works for my MS SQL Server].
 
  An alternative to supplying the rowtype attribute as a literal in
 the
  SQL clause is to use a Solr DIH Template Transformer
  http://wiki.apache.org/solr/DataImportHandler#transformer
 
  This should allow you to keep the working SQL. For example
 
  entity name=user transformer=TemplateTransformer query=select
 *
  from USER
 field column=rowtype template=user /
  /entity
 
 
   -Original Message-
   From: con [mailto:[EMAIL PROTECTED]
   Sent: Wednesday, 1 October 2008 5:48 PM
   To: solr-user@lucene.apache.org
   Subject: RE: How to select one entity at a time?
  
  
   That is exactly what my problem is.:handshake:
   Thanks for you reply.
  
   But I tried your suggestion:
   Updated the data-config.xml as;
  
   entity name=user query=select 'user' as rowtype, * from
   USER/entity
   entity name=manager query=select 'manager' as rowtype, * from
   MANAGERS/entity
  
   But when I perform the full import itself, it is throwing
 exception,
  
  SEVERE: Exception while processing: user document :
   SolrInputDocumnt[{}]
   org.apache.solr.handler.dataimport.DataImportHandlerException:
   Unable to
   execute
   query: select 'user' as rowtype,* from USER Processing
 Document #
  1
   ...
   So, as expected, when I go to search it is giving- undefined field
   rowtype-
   error.!!!
   Do I need to update any other files or fields?
  
   I am happy that it worked for you...:jumping::jumping:
   Looking forward for your reply
   Thanks
   con
  
  
  
  
   Neville Burnell wrote:
   
Hi,
   
But while performing a search, if I want to search only the
 data
   from
USER table, how can I acheive it.
   
In my app+solr index, we solved this problem by tagging
 entities
   with a
rowtype attribute, something like this:
   
entity name=user query=select 'user' as rowtype, * from
USER/entity
entity name=manager query=select 'manager' as rowtype, *
 from
MANAGERS/entity
   
Then your 'users' only query becomes something like:
   
http://localhost:8983/solr/select/?q=(bob AND
rowtype:user)version=2.2start=0rows=10indent=onwt=json
   
Hope this helps
   
   
   
-Original Message-
From: con [mailto:[EMAIL

DataImportHandler questions ..

2008-06-11 Thread Neville Burnell
Hi,

I'm playing with the Solr Data Import Handler, and everything looks
great so far! 

Hopefully we will be able to replace our homegrown ODBC indexing service
[using camping+ferret] with Solr!

The wiki page mentions scheduling full imports and delta imports but I
couldn't find any further details. Is scheduling supported  by the
current handler, or do I need to use an external trigger ?

Also, any idea when the DataImportHandler [SOLR-469] might become part
of the nightlies ? I read somewhere that it might happen RSN fingers
crossed

Thanks,

Neville