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