lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Harvey <char...@knightridder.com>
Subject Re: Searching multiple fields in one Index of Documents
Date Tue, 12 Feb 2002 18:36:22 GMT
So if I have three fields in my Document, labeled on insert into the 
document as:
headline
category
pub_date


and I need all headlines that contain 'Bush'
from all stories with a category of 'National'
that were published on 2002/01/05:

Would I:

1. Have to have inserted upon concatenation all of this data into a single 
field?
pub_date:2002/01/05 category:National headline:A whole lot of people really 
love Bush

The query would be put together so?
pub_date:2002/01/05 AND category:National AND Bush
This doesn't seem like it would work specifically for the headline field, 
though it would work just fine for the others... maybe a solution here 
would be to tag entire fields before concatenation into the searchable 
field and use regular expressions so we could query for 
/<headline>.*Bush.*<\/headline>/i. Seems a bit complicated, though.

Or, does Lucene actually understand that the field:content is a field pointer?

The only other way that I can think would be usable (especially for date > 
some_time) is to search only for the keyword query ('Bush' in this case), 
enumerate through all of the Documents returned, add them to my own 
collection, and then begin to weed them out condition by condition.

At 07:06 AM 2/12/2002 -0800, you wrote:
>Hi Charles,
>Currently Lucene does not give you a query which will search all fields.
>The easiest way to do this is to great a queryString will all the fields 
>based on the enteredSearchString.
>
>So if someone enters "foobar" then convert this into
>category:foobar OR body:foobar
>where the format is [fieldname]:[query string]
>Of course you can use AND or OR depending on what you want to accomplish.
>
>Hope that helps.
>
>--Peter
>
>On Monday, February 11, 2002, at 04:39 PM, Charles Harvey wrote:
>
>>I have a working installation of Lucene running against indexes created 
>>by a database query.
>>Each Document in the Index contains fifteen or twenty fields. I am 
>>currently searching only one field (that contains concatenated database 
>>columns) because I cannot figure out how to search multiple fields. So:
>>
>>How can I use Lucene to search more than one field in an Index of Documents?
>>
>>eg:
>>field CATEGORY is(or contains) 'bar'
>>AND
>>field BODY contains 'foo'
>>
>>
>>
>>
>>_________________
>>
>>"The trouble with the rat-race is that even if you win you're still a rat."
>>--Lily Tomlin
>>_________________
>>Charles Harvey
>>Developer
>>http://www.philly.com
>>Wk: 215 789 6057
>>Cell: 215 588 0851
>>
>>
>>--
>>To unsubscribe, e-mail:   <mailto:lucene-user-> 
>>unsubscribe@jakarta.apache.org>
>>For additional commands, e-mail: <mailto:lucene-user-> 
>>help@jakarta.apache.org>
>>
>
>
>--
>To unsubscribe, e-mail:   <mailto:lucene-user-unsubscribe@jakarta.apache.org>
>For additional commands, e-mail: <mailto:lucene-user-help@jakarta.apache.org>

_________________

"The trouble with the rat-race is that even if you win you're still a rat."
--Lily Tomlin
_________________
Charles Harvey
Developer
http://www.philly.com
Wk: 215 789 6057
Cell: 215 588 0851


--
To unsubscribe, e-mail:   <mailto:lucene-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:lucene-user-help@jakarta.apache.org>


Mime
View raw message