An id field simply uniquely identifies a row or document. It sounds like you are trying to use "id" as if it were a "type" field. Generally, one would not "search in id field" other than to select a specific row/document.

It is rather unhelpful to label a column/field as "data" - that conveys no useful information to the reader. Pick a term that DESCRIBES the purpose of the "data".

Finally, be aware that the default operator is "OR", so if your query has two or more terms (or is a composite term that gets split into two or more terms), then you will get ALL documents that match ANY of the terms. If you want ONLY the documents that match ALL of the terms, set the default query operator (q.op) to "AND".

-- Jack Krupansky

-----Original Message----- From: Romita Saha
Sent: Friday, November 02, 2012 4:01 AM
To: solr-user@lucene.apache.org
Subject: Re: solr search issue

Hi,

I am new to solr. Could you kindly explain a bit about defining free text
search.

In my database I have two columns. One is id another is data.
I want my query to spread across multiple fields. When i search for a
parameter from id filed, it searches it in both the fields. However
whenever I search a parameter from data field, it only searches in data.
Below is my query.

http://localhost:8983/solr/db/select/?defType=dismax&q=2&qf=data
id^2&start=0&rows=11&fl=data,id

In my table, id=2 for data=level2.
                      id=4 for data=cashier2.

When I search q=2&qf=data id, it searches for '2' in data field also and
gives me both the results i.e data=level2 and data=cashier2.
However, when i search for q=cashier2&qf=data id, it only gives me result
as data=cashier2 and not data=level2 (please note that id=2 for data =
level2. Ideally it should break the query into cashier+2 and search in id
field as well)


Thanks and regards,
Romita Saha

Panasonic R&D Center Singapore
Blk 1022 Tai Seng Avenue #06-3530
Tai Seng Ind. Est. Singapore 534415
DID: (65) 6550 5383 FAX: (65) 6550 5459
email: romita.s...@sg.panasonic.com



From:   Erick Erickson <erickerick...@gmail.com>
To:     solr-user@lucene.apache.org,
Date:   11/02/2012 02:42 PM
Subject:        Re: solr search issue



First, define a "free text search". If what you're after is that your
terms
(i.e. q=term1 term2) get spread
across multiple fields, simply add them to your qf parameter
(qf=field1,field2). If you want the terms
bound to a particular field, it's just the usual q=field:term, in which
case any field term does NOT get
spread amongst all the fields in your qf parameter.

Best
Erick


On Fri, Nov 2, 2012 at 1:56 AM, Romita Saha
<romita.s...@sg.panasonic.com>wrote:

Hi,

Thank you for your reply. What if I want to do a free text search?

Thanks and regards,
Romita


From:   Gora Mohanty <g...@mimirtech.com>
To:     solr-user@lucene.apache.org,
Date:   11/02/2012 12:36 PM
Subject:        Re: solr search issue



On 2 November 2012 09:51, Romita Saha <romita.s...@sg.panasonic.com>
wrote:
>
> Hi,
>
> I am trying to search a database . In my database I have a field
level2.
>
> My query:
>


http://localhost:8983/solr/db/select/?defType=dismax&q=search%20level2&qf=data%20id

^2%20&start=0&rows=11&fl=data,id


Where did you get this syntax from? If you want to search just on the
field level2, you should have:
http://localhost:8983/solr/db/select/?q=term&defType=dismax&qf=level2
where "term" is your search term. (I have omitted boosts, and extra
parameters.)

Regards,
Gora



Reply via email to