lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Elschot <paul.elsc...@xs4all.nl>
Subject Re: a query for a special AND?
Date Thu, 20 Sep 2007 07:46:01 GMT
On Thursday 20 September 2007 09:19, Mohammad Norouzi wrote:
> well, you mean we should separate documents just like relational tables in
> databases ?

Quite the contrary, it's called _de_normalization. This means that the
documents in lucene normally contain more information than is present
in a single relational entity.

> if yes, how to make the relationship between those documents

Lucene has no facilities to maintain relational relationships among
its documents. A lucene index allows free format documents, i.e.
any document may have any field or not.
In practice you will need at least a primary key, but even that you will
need to program yourself.

Regards,
Paul Elschot



> 
> thank you so much Paul
> 
> On 9/20/07, Paul Elschot <paul.elschot@xs4all.nl> wrote:
> >
> > On Thursday 20 September 2007 07:29, Mohammad Norouzi wrote:
> > > Sorry Paul I just hurried in replying ;)
> > > I read the documents of Lucene about query syntax and I figured out the
> > what
> > > is the difference
> > > but my problem is different, this is preoccupied my mind and I am under
> > > pressure to solve this problem, after analyzing the results I get, now I
> > > think we need a "group by" in our query.
> > >
> > > let me tell you an example: we need a list of patients that have been
> > > examined by certain services specified by the user , say service one and
> > > service two.
> > >
> > > in this case here is the correct result:
> > > patient-id              service_name               patient_result
> > > 1                             s1                                12
> > > 1                             s2                                13
> > > 2                             s1                                  41
> > > 2                             s2                                22
> > >
> > > but for example, following is incorrect because patient 1 has no service
> > > with name service2:
> > > patient-id              service_name               patient_result
> > > 1                             s1                                12
> > > 1                             s3                                13
> >
> > That depends on what you put in your lucene documents.
> > You can only get complete lucene documents as query results.
> > For the above example a patient with all service names
> > should be indexed in a single lucene doc.
> >
> > The rows above suggest that the relation between patient and
> > service forms the relational result. However, for a text search
> > engine it is usual to denormalize the relational records into
> > indexed documents, depending on the required output.
> >
> > Regards,
> > Paul Elschot
> >
> >
> >
> > >
> > >
> > >
> > > On 9/20/07, Mohammad Norouzi <mnrz57@gmail.com> wrote:
> > > >
> > > > Hi Paul,
> > > > would you tell me what is the difference between AND and + ?
> > > > I tried both but get different result
> > > > with AND I get 1777 documents and with + I get nearly 25000 ?
> > > >
> > > >
> > > > On 9/17/07, Paul Elschot <paul.elschot@xs4all.nl> wrote:
> > > > >
> > > > > On Monday 17 September 2007 11:40, Mohammad Norouzi wrote:
> > > > > > Hi
> > > > > > I have a problem in getting correct result from Lucene, consider
> > we
> > > > > have an
> > > > > > index containing documents with fields "field1" and "field2"
etc.
> > now
> > > > > I want
> > > > > > to have documents in which their field1 are equal one by one
and
> > their
> > > > > > field2 with two different value
> > > > > >
> > > > > > to clarify consider I have this query:
> > > > > > field1:val*  (field2:"myValue1" XOR field2:"myValue2")
> > > > >
> > > > > Did you try this:
> > > > >
> > > > > +field1:val*  +field2:"myValue1" +field2:"myValue2"
> > > > >
> > > > > Regards,
> > > > > Paul Elschot
> > > > >
> > > > >
> > > > > >
> > > > > > now I want this result:
> > > > > > field1              field2
> > > > > > val1                myValue1
> > > > > > val1                myValue2
> > > > > > val2                myValue1
> > > > > > val2                myValue2
> > > > > >
> > > > > > this result is not acceptable:
> > > > > > val3              myValue1
> > > > > > or
> > > > > > val4             myValue1
> > > > > > val4             myValue3
> > > > > >
> > > > > > I put XOR as operator because this is not a typical OR, it's
> > > > > different, it
> > > > > > means documents that contains both myValue1 and myValue2 for
the
> > field
> > > > >
> > > > > > field2
> > > > > >
> > > > > > how to build a query to get such result?
> > > > > >
> > > > > > thanks in advance
> > > > > > --
> > > > > > Regards,
> > > > > > Mohammad
> > > > > > --------------------------
> > > > > > see my blog: http://brainable.blogspot.com/
> > > > > > another in Persian: http://fekre-motefavet.blogspot.com/
> > > > > > Sun Certified Java Programmer
> > > > > > ExpertsExchange Certified, Master:
> > > > > > http://www.experts-exchange.com/M_1938796.html
> > > > > >
> > > > >
> > > > >
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> > > > > For additional commands, e-mail: java-user-help@lucene.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Regards,
> > > > Mohammad
> > > > --------------------------
> > > > see my blog: http://brainable.blogspot.com/
> > > > another in Persian: http://fekre-motefavet.blogspot.com/
> > > > Sun Certified Java Programmer
> > > > ExpertsExchange Certified, Master:
> > http://www.experts-exchange.com/M_1938796.html
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Regards,
> > > Mohammad
> > > --------------------------
> > > see my blog: http://brainable.blogspot.com/
> > > another in Persian: http://fekre-motefavet.blogspot.com/
> > > Sun Certified Java Programmer
> > > ExpertsExchange Certified, Master:
> > > http://www.experts-exchange.com/M_1938796.html
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> > For additional commands, e-mail: java-user-help@lucene.apache.org
> >
> >
> 
> 
> -- 
> Regards,
> Mohammad
> --------------------------
> see my blog: http://brainable.blogspot.com/
> another in Persian: http://fekre-motefavet.blogspot.com/
> Sun Certified Java Programmer
> ExpertsExchange Certified, Master:
> http://www.experts-exchange.com/M_1938796.html
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message