parsing search query -or- getting boolean to work

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Hi, all --

I have a very simple mysql DB consisting of a single table with a
timestamp and a single text field, and I would like to search it.  I
was really excited about letting MATCH ... IN BOOLEAN MODE handle it
all for me, but it gets caught up for two reasons: 1) the stopwords
list and 2) short search terms (eg "w06").

It seems to me that I have two options.  One is to figure out how to
have BOOLEAN use my own inverted index, which I don't think it can and
which is probably a mysql question anyway but for which I will take
suggestions.  The other is to write my own query parser.

If I want to be able to parse

  this and (that or "the other")

I think I need a basic recursive descent parser, but I haven't written
one in a loooong time.  I am hopeful that there is already code out
there that will do this or will handle a more "natural" query in some
NQL, but I haven't seen it without some big price tag.

AFAICT Sphinx has the same stopwords problem (and probably word
length, too), and Zend lucerne or even the full-blown version will not
only require that I parse the request anyway but also then have to get
it to index my table and go and ask it; I don't think that this route
is going to work for me, but I am again open to suggestions

Any ideas?


See /

Site Timeline