Chris Hostetter wrote:
: important:conference agenda
: I want to end up with
:
: +subject:important +subject:conference +subject:agenda
:
: I've written something to do this, but I know it is not as clever as QP as
: currently it can only create BooleanQueries with TermQueries and cannot handle
: PhraseQuery, so would not handle
:
: important:"conference agenda"
you're on a slippery slope .. basically what you are ssaying is you want
":" to be treated as a field seperater *some* ofthe time, and as a
whitespace hcaracter the rest of the time ... but it's not really clear if
the rules you want to use are deterministic -- can you describe what you
want to do to an *arbitrary* input string?
I have a number of UI search fields that are field specific, e.g. Subject,
Sender, amongst others as well as a "free form" google style field where
anything can be entered.
On the field specific fields, I want to control the parsing to ensure that the
parser will not interpret fields in the user entered string, so in those fields
it treats : as : all of the time. However, in the "free form" field, anything
goes and : is a field delimeter all of the time. So, a user can seach for
Subject - important:conference agenda
FieldA - blah:abc
FreeForm - fieldX:Xdata fieldY:Ydata
in the above, the Subject and Field A would have been indexed using configurable
analysers and would have indexed "important" and "blah", so these are relevant
to the search.
This should come out as a
(+subject:important +subject:conference +subject:agenda) (+fielda:blah
+fielda:abc) (+fieldx:xdata +fieldy:ydata)
My framework allows for field specific parsers as well as field specific
analysers, so having a different query parser for the named fields and the free
form field is fine.
Antony
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]