--On Wednesday, August 24, 2005 1:46 PM -0500 John Madden
<jmadden@ivytech.edu> wrote:
It is quite clear in the docs that the default minimum substring
indexing starts at 3 characters. So the "*2" and the "*22" substring
searches will not be using the index at all unless you've tweaked this.
No, I've made no mods. So "*22" shouldn't be on an index, yet it's quite
fast. That does explain why "*2" is slow though.
BTW, if you have your loglevel up to around 256, do you see this
message?
bdb_substring_candidates: (uid) index_param failed (18)
Nope, no such messages.
So I'm guessing that "*XXX*" is one character short index wise. That
may or may not be by design.
It seems that having the glob on the end of the string is perhaps related
to things being slow, although I've done so many tests I don't remember
clearly.
I'm guessing it is this:
index_substr_any_step <integer>
Specify the steps used in subany index lookups. This
value sets the offset for the segments of a filter
string that are processed for a subany index lookup.
The default is 2. For example, with the default values,
a search using this filter "cn=*abcdefgh*" would
generate index lookups for "abcd", "cdef", and "efgh".
So something like "*lee*" would just generate "lee" and "e" if I'm
reading it right, and then the "e" search would fail...