lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From digby <>
Subject Re: searching in more than fields on document
Date Tue, 06 Jun 2006 14:26:26 GMT
Basically, I've got a small app which allows me to update fields in 
bunch of mysql tables using Hibernate. As I save each bean, I'm want to 
add it to the lucene index aswell. However, I want the app to be as 
generic as possible and at the moment it doesn't care what the bean is, 
as long as there's a hibernate mapping, it will understand what to do.

When the user is searching for the bean, I want them to be able to 
search over all the fields, but a) there will be lots of beans in the 
index with many different fields (so I can't know which ones to search 
for), and b) the user won't necessarily know the field names (so they 
can't specify them).

Having said that, I've just realised I could loop through all the 
properties defined in the hibernate mapping document and build up a 
MultiFieldQueryParser, but just concatenating all the bean's properties 
into a single field still seems like the easiest option (as well as 
having the proper fields so they can search if they know the field name).


Michael D. Curtin wrote:
> Not sure if I understand exactly what you want to do, but would the 
> "<field>:<keyword>" syntax that QueryParser understands work for you?  
> That is, you could send query text like
>     f1:foo f2:foo f3:foo
> to search for "foo" in any of the 3 fields.  If you need boolean 
> capabilities you can use parentheses, like so:
>     +(f1:foo f2:foo f3:foo) +(f1:bar f2:bar f3:bar)
> to mean "foo in some field, and bar in some field", or
>     +(f1:foo f1:bar) +(f2:foo f2:bar) +(f3:foo f3:bar)
> "foo or bar in all fields".
> Would this work for ya?
> --MDC

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message