Hi,
I'm trying to use Lucene to query a domain that has the following structure
Student 1---* Attendance *-1 Course
The data in the domain is summarised below
Course.name Attendance.mandatory Student.name
-
cooking
Hi Don,
On Wed, Jul 29, 2009 at 1:42 PM, Donal Murtagh wrote:
> Course.name Attendance.mandatory Student.name
> -
> cooking N Bob
> art Y
Hi Phil,
I don't really have any query parsing/generation code to send you, because I'm
not using Lucene directly. I'm using the Grails Searchable Plugin,
which builds on both Lucene and Compass. The only relevant information
I can give you is my Grails domain classes which show how I've mapped
m
Hi,
this is interesting but why do you use "AND" in your query when both the
term are a MUST (they have +). See
http://lucene.apache.org/java/2_4_1/queryparsersyntax.html for more details
about Lucene query syntax.
Try dropping the AND and try the following query:
+courseName:cooking +mandatory:Y
Hi,
I tried your suggestion:
"+courseName:cooking +mandatory:Y"
but
it still matches the student who attends a non-mandatory cooking
course, and another mandatory course, which is not what I want. The
only reason I was using "AND" in my query, was to be explicit about how
the predicates should b
Hi Donal,
I'm not familiar with Compass annotations, so forgive my ignorance, but it's
not clear to me what your documents look like, or how a Lucene document
corresponds to your objects.
What does the document you get as a hit when you search look like? That is,
what fields are defined on it
Basically the classes I'm indexing have the following relationships:
Student 1--* Attendance 1--* Course
The
only root class is Student, i.e. only instances of this class can be
returned from a search. I have a Student object graph that could be
represented in JSON as follows:
{
name:
Don,
To me it seems as if there is only one document in your index, and moreover
the only document has mutifield courseName and mandatory fields (this means
you will get the same result even if you query +courseName:art +mandatory:N).
Do you think you can share how you create your domain objects an
tch.
Steve
> -Original Message-
> From: Donal Murtagh [mailto:domur...@yahoo.co.uk]
> Sent: Thursday, July 30, 2009 3:10 PM
> To: java-user@lucene.apache.org
> Subject: Re: Querying across object relationships
>
> Basically the classes I'm indexing have the followin
ourse and also
> attends a mandatory course?". Bob is a match.
>
> Steve
>
> > -Original Message-----
> > From: Donal Murtagh [mailto:domur...@yahoo.co.uk]
> > Sent: Thursday, July 30, 2009 3:10 PM
> > To: java-user@lucene.apache.org
> > S
;>
>> In Lucene-land, the query (+courseName:cooking +mandatory:Y) matches the
>> above document, because the document contains those values in those fields.
>>
>> So with that query, based on the Lucene document structure, you seem to be
>> asking the question: "Whic
Hi Donal,
We released SIREn [1], a plugin for Lucene that allows indexing and
querying of semi-structured data, a few days ago. Your use case seems to
match perfectly what SIREn can do.
SIREn enables the indexing of semi-structured data into a Lucene field,
and offers additional query compon
ate your domain objects and how you
> push them into index?
>
> Did you check you transaction logic? Are you sure you indexed all the
> domain
> objects you wanted?
>
> Lukas
>
>
--
View this message in context:
http://www.nabble.com/Querying-across-object-relationship
So with that query, based on the Lucene document structure, you seem to be
> asking the question: "Which student attends a cooking course and also
> attends a mandatory course?". Bob is a match.
>
> Steve
>
>> -----Original Message-
>> From: Donal Murtagh
ng +mandatory:Y) matches the
> > above document, because the document contains those values in those
> > fields.
> >
> > So with that query, based on the Lucene document structure, you seem to
> be
> > asking the question: "Which student attends a cooking course and also
15 matches
Mail list logo