"Illegal state of TermDocEnum" error

Hi,

I’ve upset Ferret (again). When searching for:

“us military” -bomb

I get the following exception:

State Error occured at <except.c>:79 in xraise
Error occured in index.c:2089 - stde_doc_num
Illegal state of TermDocEnum. You must call #next before you call
#doc_num

If I drop the quotes around “us military”, or drop “-bomb”, it works
fine. I can search for -bomb on it’s own, and other variations
successfully. I’ve tried recreating the index from scratch too.

The only way I’ve found to fix the problem is to optimize the index.
I’d rather not have to do every time I add new documents.

I found the following previous list post on the same subject. Dave’s
response suggests 0.10.9, which I tried with no improvement.

http://rubyforge.org/pipermail/ferret-talk/2006-October/001669.html

I’ve reproduced repeatedly with 0.10.9 and, 0.10.10 and 0.10.14, (with
the same set of documents).

Any ideas what the error even means?

Thanks,

John.

http://johnleach.co.uk