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 SR <r....@gmail.com> on 2012/11/03 17:47:12 UTC

All document keywords must match the query keywords

Solr 4.0

I need to return documents when all their keywords are matching the query. In other words, all the document keywords should match the query keywords

e.g., query: best chinese food restaurant

doc1: chinese food
doc2: italian food
doc3: chinese store

Only doc1 should be returned ("chinese food" is matching the query).

Any idea on how this can be achieved?

Thanks,
-Steve

Re: All document keywords must match the query keywords

Posted by Otis Gospodnetic <ot...@gmail.com>.
Hi,

By we I meant Sematext, not LW.
You'll have to ask LW about open-sourcing their implementation.

Otis
--
Performance Monitoring - http://sematext.com/spm
On Nov 3, 2012 10:43 PM, "SR" <r....@gmail.com> wrote:

> Thanks Otis.
>  By "we" you mean "Lucid works"?
>
> Is there a chance to get it sometime soon in the open source?
>
> Thanks,
> -S
>
> On 2012-11-03, at 10:39 PM, Otis Gospodnetic wrote:
>
> > It doesn't exist in solr. We've built it for clients. Elasticsearch has
> it
> > built in.
> >
> > Otis
> > --
> > Performance Monitoring - http://sematext.com/spm
> > On Nov 3, 2012 10:37 PM, "SR" <r....@gmail.com> wrote:
> >
> >> Thanks Ahmet that's exactly what I need. Do you now whether this feature
> >> exists in Solr? Or do I have to go through Lucene directly?
> >>
> >> Thanks,
> >> -SR
> >>
> >> On 2012-11-03, at 10:26 PM, Ahmet Arslan wrote:
> >>
> >>> Hi Steve,
> >>>
> >>> I would store my documents as queries in your case. You may find these
> >> relevant.
> >>>
> >>>
> >>
> http://lucene.apache.org/core/4_0_0-BETA/memory/org/apache/lucene/index/memory/MemoryIndex.html
> >>>
> >>> http://www.elasticsearch.org/blog/2011/02/08/percolator.html
> >>>
> >>>
> >>> --- On Sun, 11/4/12, SR <r....@gmail.com> wrote:
> >>>
> >>>> From: SR <r....@gmail.com>
> >>>> Subject: Re: All document keywords must match the query keywords
> >>>> To: solr-user@lucene.apache.org
> >>>> Date: Sunday, November 4, 2012, 4:16 AM
> >>>> Thanks Jack.
> >>>>
> >>>> This is not the ultimate goal of my search system; it's only
> >>>> one of the features I need. I don't need "best" and
> >>>> "restaurant" to match in this feature.
> >>>>
> >>>> Yes, I do have the semantic of query backwards, and that's
> >>>> what I need in my application.
> >>>>
> >>>> -S
> >>>>
> >>>>
> >>>> On 2012-11-03, at 10:05 PM, Jack Krupansky wrote:
> >>>>
> >>>>> But neither "best" nor "restaurant" are in any of the
> >>>> documents, so how are any of these documents reasonable
> >>>> matches?
> >>>>>
> >>>>> You have the semantics of query backwards. The
> >>>> documents are the "data" and the query is the "operation" to
> >>>> be performed on the data. The intent of a query is to
> >>>> specify what documents should be selected. That is the
> >>>> function/purpose of any query, in any search system.
> >>>>>
> >>>>> -- Jack Krupansky
> >>>>>
> >>>>> -----Original Message----- From: SR
> >>>>> Sent: Saturday, November 03, 2012 5:09 PM
> >>>>> To: solr-user@lucene.apache.org
> >>>>> Subject: Re: All document keywords must match the query
> >>>> keywords
> >>>>>
> >>>>>
> >>>>> On 2012-11-03, at 12:55 PM, Gora Mohanty wrote:
> >>>>>
> >>>>>> On 3 November 2012 22:17, SR <r....@gmail.com>
> >>>> wrote:
> >>>>>>
> >>>>>>> Solr 4.0
> >>>>>>>
> >>>>>>> I need to return documents when all their
> >>>> keywords are matching the query.
> >>>>>>> In other words, all the document keywords
> >>>> should match the query keywords
> >>>>>>>
> >>>>>>> e.g., query: best chinese food restaurant
> >>>>>>>
> >>>>>>> doc1: chinese food
> >>>>>>> doc2: italian food
> >>>>>>> doc3: chinese store
> >>>>>>>
> >>>>>>> Only doc1 should be returned ("chinese food" is
> >>>> matching the query).
> >>>>>>>
> >>>>>>> Any idea on how this can be achieved?
> >>>>>>>
> >>>>>>
> >>>>>> Not sure what you mean by all the keywords should
> >>>> match, given your
> >>>>>> examples above. doc2 will match because of "food"
> >>>> and doc3 will match
> >>>>>> because of "chinese".
> >>>>>>
> >>>>>> If you really want all search terms to be matched,
> >>>> you can change the
> >>>>>> default operator for solrQueryParser in schema.xml
> >>>> from OR to AND,
> >>>>>> but in your example even doc1 will not match as you
> >>>> are searching
> >>>>>> for "best chinese food restaurant". If you searched
> >>>> for "chinese food"
> >>>>>> it would match.
> >>>>>>
> >>>>>> Regards,
> >>>>>> Gora
> >>>>>
> >>>>> Hi Gora,
> >>>>>
> >>>>> I really meant that. doc 2 shouldn't match because
> >>>> "italian" is not in the query. Same thing for doc3 with
> >>>> "store". It's like applying an AND but on the document
> >>>> keywords, instead of the query keywords.
> >>>>>
> >>>>> Thanks,
> >>>>> -S=
> >>>>
> >>>>
> >>
> >>
>
>

Re: All document keywords must match the query keywords

Posted by Mikhail Khludnev <mk...@griddynamics.com>.
Steve,

It seems to me your task has a lot in common with mines. I tell about
several approaches at next week
http://www.apachecon.eu/schedule/presentation/18/ .

Thanks


On Sun, Nov 4, 2012 at 6:43 AM, SR <r....@gmail.com> wrote:

> Thanks Otis.
>  By "we" you mean "Lucid works"?
>
> Is there a chance to get it sometime soon in the open source?
>
> Thanks,
> -S
>
> On 2012-11-03, at 10:39 PM, Otis Gospodnetic wrote:
>
> > It doesn't exist in solr. We've built it for clients. Elasticsearch has
> it
> > built in.
> >
> > Otis
> > --
> > Performance Monitoring - http://sematext.com/spm
> > On Nov 3, 2012 10:37 PM, "SR" <r....@gmail.com> wrote:
> >
> >> Thanks Ahmet that's exactly what I need. Do you now whether this feature
> >> exists in Solr? Or do I have to go through Lucene directly?
> >>
> >> Thanks,
> >> -SR
> >>
> >> On 2012-11-03, at 10:26 PM, Ahmet Arslan wrote:
> >>
> >>> Hi Steve,
> >>>
> >>> I would store my documents as queries in your case. You may find these
> >> relevant.
> >>>
> >>>
> >>
> http://lucene.apache.org/core/4_0_0-BETA/memory/org/apache/lucene/index/memory/MemoryIndex.html
> >>>
> >>> http://www.elasticsearch.org/blog/2011/02/08/percolator.html
> >>>
> >>>
> >>> --- On Sun, 11/4/12, SR <r....@gmail.com> wrote:
> >>>
> >>>> From: SR <r....@gmail.com>
> >>>> Subject: Re: All document keywords must match the query keywords
> >>>> To: solr-user@lucene.apache.org
> >>>> Date: Sunday, November 4, 2012, 4:16 AM
> >>>> Thanks Jack.
> >>>>
> >>>> This is not the ultimate goal of my search system; it's only
> >>>> one of the features I need. I don't need "best" and
> >>>> "restaurant" to match in this feature.
> >>>>
> >>>> Yes, I do have the semantic of query backwards, and that's
> >>>> what I need in my application.
> >>>>
> >>>> -S
> >>>>
> >>>>
> >>>> On 2012-11-03, at 10:05 PM, Jack Krupansky wrote:
> >>>>
> >>>>> But neither "best" nor "restaurant" are in any of the
> >>>> documents, so how are any of these documents reasonable
> >>>> matches?
> >>>>>
> >>>>> You have the semantics of query backwards. The
> >>>> documents are the "data" and the query is the "operation" to
> >>>> be performed on the data. The intent of a query is to
> >>>> specify what documents should be selected. That is the
> >>>> function/purpose of any query, in any search system.
> >>>>>
> >>>>> -- Jack Krupansky
> >>>>>
> >>>>> -----Original Message----- From: SR
> >>>>> Sent: Saturday, November 03, 2012 5:09 PM
> >>>>> To: solr-user@lucene.apache.org
> >>>>> Subject: Re: All document keywords must match the query
> >>>> keywords
> >>>>>
> >>>>>
> >>>>> On 2012-11-03, at 12:55 PM, Gora Mohanty wrote:
> >>>>>
> >>>>>> On 3 November 2012 22:17, SR <r....@gmail.com>
> >>>> wrote:
> >>>>>>
> >>>>>>> Solr 4.0
> >>>>>>>
> >>>>>>> I need to return documents when all their
> >>>> keywords are matching the query.
> >>>>>>> In other words, all the document keywords
> >>>> should match the query keywords
> >>>>>>>
> >>>>>>> e.g., query: best chinese food restaurant
> >>>>>>>
> >>>>>>> doc1: chinese food
> >>>>>>> doc2: italian food
> >>>>>>> doc3: chinese store
> >>>>>>>
> >>>>>>> Only doc1 should be returned ("chinese food" is
> >>>> matching the query).
> >>>>>>>
> >>>>>>> Any idea on how this can be achieved?
> >>>>>>>
> >>>>>>
> >>>>>> Not sure what you mean by all the keywords should
> >>>> match, given your
> >>>>>> examples above. doc2 will match because of "food"
> >>>> and doc3 will match
> >>>>>> because of "chinese".
> >>>>>>
> >>>>>> If you really want all search terms to be matched,
> >>>> you can change the
> >>>>>> default operator for solrQueryParser in schema.xml
> >>>> from OR to AND,
> >>>>>> but in your example even doc1 will not match as you
> >>>> are searching
> >>>>>> for "best chinese food restaurant". If you searched
> >>>> for "chinese food"
> >>>>>> it would match.
> >>>>>>
> >>>>>> Regards,
> >>>>>> Gora
> >>>>>
> >>>>> Hi Gora,
> >>>>>
> >>>>> I really meant that. doc 2 shouldn't match because
> >>>> "italian" is not in the query. Same thing for doc3 with
> >>>> "store". It's like applying an AND but on the document
> >>>> keywords, instead of the query keywords.
> >>>>>
> >>>>> Thanks,
> >>>>> -S=
> >>>>
> >>>>
> >>
> >>
>
>


-- 
Sincerely yours
Mikhail Khludnev
Tech Lead
Grid Dynamics

<http://www.griddynamics.com>
 <mk...@griddynamics.com>

Re: All document keywords must match the query keywords

Posted by SR <r....@gmail.com>.
Thanks Otis.
 By "we" you mean "Lucid works"?

Is there a chance to get it sometime soon in the open source?

Thanks,
-S

On 2012-11-03, at 10:39 PM, Otis Gospodnetic wrote:

> It doesn't exist in solr. We've built it for clients. Elasticsearch has it
> built in.
> 
> Otis
> --
> Performance Monitoring - http://sematext.com/spm
> On Nov 3, 2012 10:37 PM, "SR" <r....@gmail.com> wrote:
> 
>> Thanks Ahmet that's exactly what I need. Do you now whether this feature
>> exists in Solr? Or do I have to go through Lucene directly?
>> 
>> Thanks,
>> -SR
>> 
>> On 2012-11-03, at 10:26 PM, Ahmet Arslan wrote:
>> 
>>> Hi Steve,
>>> 
>>> I would store my documents as queries in your case. You may find these
>> relevant.
>>> 
>>> 
>> http://lucene.apache.org/core/4_0_0-BETA/memory/org/apache/lucene/index/memory/MemoryIndex.html
>>> 
>>> http://www.elasticsearch.org/blog/2011/02/08/percolator.html
>>> 
>>> 
>>> --- On Sun, 11/4/12, SR <r....@gmail.com> wrote:
>>> 
>>>> From: SR <r....@gmail.com>
>>>> Subject: Re: All document keywords must match the query keywords
>>>> To: solr-user@lucene.apache.org
>>>> Date: Sunday, November 4, 2012, 4:16 AM
>>>> Thanks Jack.
>>>> 
>>>> This is not the ultimate goal of my search system; it's only
>>>> one of the features I need. I don't need "best" and
>>>> "restaurant" to match in this feature.
>>>> 
>>>> Yes, I do have the semantic of query backwards, and that's
>>>> what I need in my application.
>>>> 
>>>> -S
>>>> 
>>>> 
>>>> On 2012-11-03, at 10:05 PM, Jack Krupansky wrote:
>>>> 
>>>>> But neither "best" nor "restaurant" are in any of the
>>>> documents, so how are any of these documents reasonable
>>>> matches?
>>>>> 
>>>>> You have the semantics of query backwards. The
>>>> documents are the "data" and the query is the "operation" to
>>>> be performed on the data. The intent of a query is to
>>>> specify what documents should be selected. That is the
>>>> function/purpose of any query, in any search system.
>>>>> 
>>>>> -- Jack Krupansky
>>>>> 
>>>>> -----Original Message----- From: SR
>>>>> Sent: Saturday, November 03, 2012 5:09 PM
>>>>> To: solr-user@lucene.apache.org
>>>>> Subject: Re: All document keywords must match the query
>>>> keywords
>>>>> 
>>>>> 
>>>>> On 2012-11-03, at 12:55 PM, Gora Mohanty wrote:
>>>>> 
>>>>>> On 3 November 2012 22:17, SR <r....@gmail.com>
>>>> wrote:
>>>>>> 
>>>>>>> Solr 4.0
>>>>>>> 
>>>>>>> I need to return documents when all their
>>>> keywords are matching the query.
>>>>>>> In other words, all the document keywords
>>>> should match the query keywords
>>>>>>> 
>>>>>>> e.g., query: best chinese food restaurant
>>>>>>> 
>>>>>>> doc1: chinese food
>>>>>>> doc2: italian food
>>>>>>> doc3: chinese store
>>>>>>> 
>>>>>>> Only doc1 should be returned ("chinese food" is
>>>> matching the query).
>>>>>>> 
>>>>>>> Any idea on how this can be achieved?
>>>>>>> 
>>>>>> 
>>>>>> Not sure what you mean by all the keywords should
>>>> match, given your
>>>>>> examples above. doc2 will match because of "food"
>>>> and doc3 will match
>>>>>> because of "chinese".
>>>>>> 
>>>>>> If you really want all search terms to be matched,
>>>> you can change the
>>>>>> default operator for solrQueryParser in schema.xml
>>>> from OR to AND,
>>>>>> but in your example even doc1 will not match as you
>>>> are searching
>>>>>> for "best chinese food restaurant". If you searched
>>>> for "chinese food"
>>>>>> it would match.
>>>>>> 
>>>>>> Regards,
>>>>>> Gora
>>>>> 
>>>>> Hi Gora,
>>>>> 
>>>>> I really meant that. doc 2 shouldn't match because
>>>> "italian" is not in the query. Same thing for doc3 with
>>>> "store". It's like applying an AND but on the document
>>>> keywords, instead of the query keywords.
>>>>> 
>>>>> Thanks,
>>>>> -S=
>>>> 
>>>> 
>> 
>> 


Re: All document keywords must match the query keywords

Posted by Otis Gospodnetic <ot...@gmail.com>.
It doesn't exist in solr. We've built it for clients. Elasticsearch has it
built in.

Otis
--
Performance Monitoring - http://sematext.com/spm
On Nov 3, 2012 10:37 PM, "SR" <r....@gmail.com> wrote:

> Thanks Ahmet that's exactly what I need. Do you now whether this feature
> exists in Solr? Or do I have to go through Lucene directly?
>
> Thanks,
> -SR
>
> On 2012-11-03, at 10:26 PM, Ahmet Arslan wrote:
>
> > Hi Steve,
> >
> > I would store my documents as queries in your case. You may find these
> relevant.
> >
> >
> http://lucene.apache.org/core/4_0_0-BETA/memory/org/apache/lucene/index/memory/MemoryIndex.html
> >
> > http://www.elasticsearch.org/blog/2011/02/08/percolator.html
> >
> >
> > --- On Sun, 11/4/12, SR <r....@gmail.com> wrote:
> >
> >> From: SR <r....@gmail.com>
> >> Subject: Re: All document keywords must match the query keywords
> >> To: solr-user@lucene.apache.org
> >> Date: Sunday, November 4, 2012, 4:16 AM
> >> Thanks Jack.
> >>
> >> This is not the ultimate goal of my search system; it's only
> >> one of the features I need. I don't need "best" and
> >> "restaurant" to match in this feature.
> >>
> >> Yes, I do have the semantic of query backwards, and that's
> >> what I need in my application.
> >>
> >> -S
> >>
> >>
> >> On 2012-11-03, at 10:05 PM, Jack Krupansky wrote:
> >>
> >>> But neither "best" nor "restaurant" are in any of the
> >> documents, so how are any of these documents reasonable
> >> matches?
> >>>
> >>> You have the semantics of query backwards. The
> >> documents are the "data" and the query is the "operation" to
> >> be performed on the data. The intent of a query is to
> >> specify what documents should be selected. That is the
> >> function/purpose of any query, in any search system.
> >>>
> >>> -- Jack Krupansky
> >>>
> >>> -----Original Message----- From: SR
> >>> Sent: Saturday, November 03, 2012 5:09 PM
> >>> To: solr-user@lucene.apache.org
> >>> Subject: Re: All document keywords must match the query
> >> keywords
> >>>
> >>>
> >>> On 2012-11-03, at 12:55 PM, Gora Mohanty wrote:
> >>>
> >>>> On 3 November 2012 22:17, SR <r....@gmail.com>
> >> wrote:
> >>>>
> >>>>> Solr 4.0
> >>>>>
> >>>>> I need to return documents when all their
> >> keywords are matching the query.
> >>>>> In other words, all the document keywords
> >> should match the query keywords
> >>>>>
> >>>>> e.g., query: best chinese food restaurant
> >>>>>
> >>>>> doc1: chinese food
> >>>>> doc2: italian food
> >>>>> doc3: chinese store
> >>>>>
> >>>>> Only doc1 should be returned ("chinese food" is
> >> matching the query).
> >>>>>
> >>>>> Any idea on how this can be achieved?
> >>>>>
> >>>>
> >>>> Not sure what you mean by all the keywords should
> >> match, given your
> >>>> examples above. doc2 will match because of "food"
> >> and doc3 will match
> >>>> because of "chinese".
> >>>>
> >>>> If you really want all search terms to be matched,
> >> you can change the
> >>>> default operator for solrQueryParser in schema.xml
> >> from OR to AND,
> >>>> but in your example even doc1 will not match as you
> >> are searching
> >>>> for "best chinese food restaurant". If you searched
> >> for "chinese food"
> >>>> it would match.
> >>>>
> >>>> Regards,
> >>>> Gora
> >>>
> >>> Hi Gora,
> >>>
> >>> I really meant that. doc 2 shouldn't match because
> >> "italian" is not in the query. Same thing for doc3 with
> >> "store". It's like applying an AND but on the document
> >> keywords, instead of the query keywords.
> >>>
> >>> Thanks,
> >>> -S=
> >>
> >>
>
>

Re: All document keywords must match the query keywords

Posted by SR <r....@gmail.com>.
Thanks Ahmet that's exactly what I need. Do you now whether this feature exists in Solr? Or do I have to go through Lucene directly?

Thanks,
-SR

On 2012-11-03, at 10:26 PM, Ahmet Arslan wrote:

> Hi Steve,
> 
> I would store my documents as queries in your case. You may find these relevant. 
> 
> http://lucene.apache.org/core/4_0_0-BETA/memory/org/apache/lucene/index/memory/MemoryIndex.html
> 
> http://www.elasticsearch.org/blog/2011/02/08/percolator.html
> 
> 
> --- On Sun, 11/4/12, SR <r....@gmail.com> wrote:
> 
>> From: SR <r....@gmail.com>
>> Subject: Re: All document keywords must match the query keywords
>> To: solr-user@lucene.apache.org
>> Date: Sunday, November 4, 2012, 4:16 AM
>> Thanks Jack.
>> 
>> This is not the ultimate goal of my search system; it's only
>> one of the features I need. I don't need "best" and
>> "restaurant" to match in this feature.
>> 
>> Yes, I do have the semantic of query backwards, and that's
>> what I need in my application.
>> 
>> -S
>> 
>> 
>> On 2012-11-03, at 10:05 PM, Jack Krupansky wrote:
>> 
>>> But neither "best" nor "restaurant" are in any of the
>> documents, so how are any of these documents reasonable
>> matches?
>>> 
>>> You have the semantics of query backwards. The
>> documents are the "data" and the query is the "operation" to
>> be performed on the data. The intent of a query is to
>> specify what documents should be selected. That is the
>> function/purpose of any query, in any search system.
>>> 
>>> -- Jack Krupansky
>>> 
>>> -----Original Message----- From: SR
>>> Sent: Saturday, November 03, 2012 5:09 PM
>>> To: solr-user@lucene.apache.org
>>> Subject: Re: All document keywords must match the query
>> keywords
>>> 
>>> 
>>> On 2012-11-03, at 12:55 PM, Gora Mohanty wrote:
>>> 
>>>> On 3 November 2012 22:17, SR <r....@gmail.com>
>> wrote:
>>>> 
>>>>> Solr 4.0
>>>>> 
>>>>> I need to return documents when all their
>> keywords are matching the query.
>>>>> In other words, all the document keywords
>> should match the query keywords
>>>>> 
>>>>> e.g., query: best chinese food restaurant
>>>>> 
>>>>> doc1: chinese food
>>>>> doc2: italian food
>>>>> doc3: chinese store
>>>>> 
>>>>> Only doc1 should be returned ("chinese food" is
>> matching the query).
>>>>> 
>>>>> Any idea on how this can be achieved?
>>>>> 
>>>> 
>>>> Not sure what you mean by all the keywords should
>> match, given your
>>>> examples above. doc2 will match because of "food"
>> and doc3 will match
>>>> because of "chinese".
>>>> 
>>>> If you really want all search terms to be matched,
>> you can change the
>>>> default operator for solrQueryParser in schema.xml
>> from OR to AND,
>>>> but in your example even doc1 will not match as you
>> are searching
>>>> for "best chinese food restaurant". If you searched
>> for "chinese food"
>>>> it would match.
>>>> 
>>>> Regards,
>>>> Gora
>>> 
>>> Hi Gora,
>>> 
>>> I really meant that. doc 2 shouldn't match because
>> "italian" is not in the query. Same thing for doc3 with
>> "store". It's like applying an AND but on the document
>> keywords, instead of the query keywords.
>>> 
>>> Thanks,
>>> -S= 
>> 
>> 


Re: All document keywords must match the query keywords

Posted by Ahmet Arslan <io...@yahoo.com>.
Hi Steve,

I would store my documents as queries in your case. You may find these relevant. 

http://lucene.apache.org/core/4_0_0-BETA/memory/org/apache/lucene/index/memory/MemoryIndex.html

http://www.elasticsearch.org/blog/2011/02/08/percolator.html


--- On Sun, 11/4/12, SR <r....@gmail.com> wrote:

> From: SR <r....@gmail.com>
> Subject: Re: All document keywords must match the query keywords
> To: solr-user@lucene.apache.org
> Date: Sunday, November 4, 2012, 4:16 AM
> Thanks Jack.
> 
> This is not the ultimate goal of my search system; it's only
> one of the features I need. I don't need "best" and
> "restaurant" to match in this feature.
> 
> Yes, I do have the semantic of query backwards, and that's
> what I need in my application.
> 
> -S
> 
> 
> On 2012-11-03, at 10:05 PM, Jack Krupansky wrote:
> 
> > But neither "best" nor "restaurant" are in any of the
> documents, so how are any of these documents reasonable
> matches?
> > 
> > You have the semantics of query backwards. The
> documents are the "data" and the query is the "operation" to
> be performed on the data. The intent of a query is to
> specify what documents should be selected. That is the
> function/purpose of any query, in any search system.
> > 
> > -- Jack Krupansky
> > 
> > -----Original Message----- From: SR
> > Sent: Saturday, November 03, 2012 5:09 PM
> > To: solr-user@lucene.apache.org
> > Subject: Re: All document keywords must match the query
> keywords
> > 
> > 
> > On 2012-11-03, at 12:55 PM, Gora Mohanty wrote:
> > 
> >> On 3 November 2012 22:17, SR <r....@gmail.com>
> wrote:
> >> 
> >>> Solr 4.0
> >>> 
> >>> I need to return documents when all their
> keywords are matching the query.
> >>> In other words, all the document keywords
> should match the query keywords
> >>> 
> >>> e.g., query: best chinese food restaurant
> >>> 
> >>> doc1: chinese food
> >>> doc2: italian food
> >>> doc3: chinese store
> >>> 
> >>> Only doc1 should be returned ("chinese food" is
> matching the query).
> >>> 
> >>> Any idea on how this can be achieved?
> >>> 
> >> 
> >> Not sure what you mean by all the keywords should
> match, given your
> >> examples above. doc2 will match because of "food"
> and doc3 will match
> >> because of "chinese".
> >> 
> >> If you really want all search terms to be matched,
> you can change the
> >> default operator for solrQueryParser in schema.xml
> from OR to AND,
> >> but in your example even doc1 will not match as you
> are searching
> >> for "best chinese food restaurant". If you searched
> for "chinese food"
> >> it would match.
> >> 
> >> Regards,
> >> Gora
> > 
> > Hi Gora,
> > 
> > I really meant that. doc 2 shouldn't match because
> "italian" is not in the query. Same thing for doc3 with
> "store". It's like applying an AND but on the document
> keywords, instead of the query keywords.
> > 
> > Thanks,
> > -S= 
> 
> 

Re: All document keywords must match the query keywords

Posted by SR <r....@gmail.com>.
Thanks Jack.

This is not the ultimate goal of my search system; it's only one of the features I need. I don't need "best" and "restaurant" to match in this feature.

Yes, I do have the semantic of query backwards, and that's what I need in my application.

-S


On 2012-11-03, at 10:05 PM, Jack Krupansky wrote:

> But neither "best" nor "restaurant" are in any of the documents, so how are any of these documents reasonable matches?
> 
> You have the semantics of query backwards. The documents are the "data" and the query is the "operation" to be performed on the data. The intent of a query is to specify what documents should be selected. That is the function/purpose of any query, in any search system.
> 
> -- Jack Krupansky
> 
> -----Original Message----- From: SR
> Sent: Saturday, November 03, 2012 5:09 PM
> To: solr-user@lucene.apache.org
> Subject: Re: All document keywords must match the query keywords
> 
> 
> On 2012-11-03, at 12:55 PM, Gora Mohanty wrote:
> 
>> On 3 November 2012 22:17, SR <r....@gmail.com> wrote:
>> 
>>> Solr 4.0
>>> 
>>> I need to return documents when all their keywords are matching the query.
>>> In other words, all the document keywords should match the query keywords
>>> 
>>> e.g., query: best chinese food restaurant
>>> 
>>> doc1: chinese food
>>> doc2: italian food
>>> doc3: chinese store
>>> 
>>> Only doc1 should be returned ("chinese food" is matching the query).
>>> 
>>> Any idea on how this can be achieved?
>>> 
>> 
>> Not sure what you mean by all the keywords should match, given your
>> examples above. doc2 will match because of "food" and doc3 will match
>> because of "chinese".
>> 
>> If you really want all search terms to be matched, you can change the
>> default operator for solrQueryParser in schema.xml from OR to AND,
>> but in your example even doc1 will not match as you are searching
>> for "best chinese food restaurant". If you searched for "chinese food"
>> it would match.
>> 
>> Regards,
>> Gora
> 
> Hi Gora,
> 
> I really meant that. doc 2 shouldn't match because "italian" is not in the query. Same thing for doc3 with "store". It's like applying an AND but on the document keywords, instead of the query keywords.
> 
> Thanks,
> -S= 


Re: All document keywords must match the query keywords

Posted by Jack Krupansky <ja...@basetechnology.com>.
But neither "best" nor "restaurant" are in any of the documents, so how are 
any of these documents reasonable matches?

You have the semantics of query backwards. The documents are the "data" and 
the query is the "operation" to be performed on the data. The intent of a 
query is to specify what documents should be selected. That is the 
function/purpose of any query, in any search system.

-- Jack Krupansky

-----Original Message----- 
From: SR
Sent: Saturday, November 03, 2012 5:09 PM
To: solr-user@lucene.apache.org
Subject: Re: All document keywords must match the query keywords


On 2012-11-03, at 12:55 PM, Gora Mohanty wrote:

> On 3 November 2012 22:17, SR <r....@gmail.com> wrote:
>
>> Solr 4.0
>>
>> I need to return documents when all their keywords are matching the 
>> query.
>> In other words, all the document keywords should match the query keywords
>>
>> e.g., query: best chinese food restaurant
>>
>> doc1: chinese food
>> doc2: italian food
>> doc3: chinese store
>>
>> Only doc1 should be returned ("chinese food" is matching the query).
>>
>> Any idea on how this can be achieved?
>>
>
> Not sure what you mean by all the keywords should match, given your
> examples above. doc2 will match because of "food" and doc3 will match
> because of "chinese".
>
> If you really want all search terms to be matched, you can change the
> default operator for solrQueryParser in schema.xml from OR to AND,
> but in your example even doc1 will not match as you are searching
> for "best chinese food restaurant". If you searched for "chinese food"
> it would match.
>
> Regards,
> Gora

Hi Gora,

I really meant that. doc 2 shouldn't match because "italian" is not in the 
query. Same thing for doc3 with "store". It's like applying an AND but on 
the document keywords, instead of the query keywords.

Thanks,
-S= 


Re: All document keywords must match the query keywords

Posted by SR <r....@gmail.com>.
On 2012-11-03, at 12:55 PM, Gora Mohanty wrote:

> On 3 November 2012 22:17, SR <r....@gmail.com> wrote:
> 
>> Solr 4.0
>> 
>> I need to return documents when all their keywords are matching the query.
>> In other words, all the document keywords should match the query keywords
>> 
>> e.g., query: best chinese food restaurant
>> 
>> doc1: chinese food
>> doc2: italian food
>> doc3: chinese store
>> 
>> Only doc1 should be returned ("chinese food" is matching the query).
>> 
>> Any idea on how this can be achieved?
>> 
> 
> Not sure what you mean by all the keywords should match, given your
> examples above. doc2 will match because of "food" and doc3 will match
> because of "chinese".
> 
> If you really want all search terms to be matched, you can change the
> default operator for solrQueryParser in schema.xml from OR to AND,
> but in your example even doc1 will not match as you are searching
> for "best chinese food restaurant". If you searched for "chinese food"
> it would match.
> 
> Regards,
> Gora

Hi Gora,

I really meant that. doc 2 shouldn't match because "italian" is not in the query. Same thing for doc3 with "store". It's like applying an AND but on the document keywords, instead of the query keywords.

Thanks,
-S

Re: All document keywords must match the query keywords

Posted by Gora Mohanty <go...@mimirtech.com>.
On 3 November 2012 22:17, SR <r....@gmail.com> wrote:

> Solr 4.0
>
> I need to return documents when all their keywords are matching the query.
> In other words, all the document keywords should match the query keywords
>
> e.g., query: best chinese food restaurant
>
> doc1: chinese food
> doc2: italian food
> doc3: chinese store
>
> Only doc1 should be returned ("chinese food" is matching the query).
>
> Any idea on how this can be achieved?
>

Not sure what you mean by all the keywords should match, given your
examples above. doc2 will match because of "food" and doc3 will match
because of "chinese".

If you really want all search terms to be matched, you can change the
default operator for solrQueryParser in schema.xml from OR to AND,
but in your example even doc1 will not match as you are searching
for "best chinese food restaurant". If you searched for "chinese food"
it would match.

Regards,
Gora