We all love Lotus Notes for its RAD
flexibility. But sometimes Notes has a memory like an elephant.
A customer had recently a problem with
the full text search. Early in the project a field in one of the Notes
forms had been defined as a number field. Later they changed the field
type to text. No big deal until a user tried to make a full text search
specially for this field. The following message came as quite a surprise.
The search string FIELD
fieldname= "Value"
was correct.
It took a little while before we found
out the right measures and the correct order to fix this problem.
I had read in the forum
that the indexer determines the type of each field on the basis of the
first found document while creating a new full text index. So we corrected
all the documents with the wrong data type. Then we deleted the full text
index and rebuilded it. The error was still the same.
After further research we have come
to the conclusion that the UNK table might be the problem. UNK stands for
"UNique Key Table" and refers to an internal table
that in every Notes database / application holds up a list of all fields
of the database. Compacting the database using a copy (option "-c")
normally recreates that table. As we had to figure out the UNK table is
not rebuilt, if a full text index exists.
The following order has finally led
to success.
1. Delete the full text index
2. On the console Load
compact database path -c
3. Create the full text index again
After that the query worked as expected.
The described procedure had to be repeated
for each replica.