How to create more complex Lucene query strings?
- by boris callens
This question is a spin-off from this question.
My inquiry is two-fold, but because both are related I think it is a good idea to put them together.
How to programmatically create queries. I know I could start creating strings and get that string parsed with the query parser. But as I gather bits and pieces of information from other resources, there is a programattical way to do this.
What are the syntax rules for the Lucene queries?
--EDIT--
I'll give a requirement example for a query I would like to make:
Say I have 5 fields:
First Name
Last Name
Age
Address
Everything
All fields are optional, the last field should search over all the other fields.
I go over every field and see if it's IsNullOrEmpty(). If it's not, I would like to append a part of my query so it adds the relevant search part.
First name and last name should be exact matches and have more weight then the other fields. Age is a string and should exact match. Address can varry in order. Everything can also varry in order.
How should I go about this?