is there a good way to do fast case-insensitive search? From my observations
it looks like something like
will not use the index, at least there is a *large* performance difference if I
leave the lower-case away. I also tried setting caseSensitive="no" in the
conf.xml, but "=" is still case-sensitive, so I am uncertain what this setting
even does. I would appreciate any hints.
for the case where I need to filter based on an attribute, this helped a lot,
thanks! I am now down to 100-1000ms to filter 10k documents (according to the
logfile), where for large result sets most of the time seems to be spent
sorting. Unfortunately I have no idea what "fast" is in XML-land ;-)
However, ngram:contains($nodes, '') throws a NullPointerException here. Is
that expected or a bug? Using any other string works fine.
I also need to search items based on a query that is constructed by the user,
that can reference any node. Is it possible - and a good idea - to index *all*
nodes using ngram (without having to list them all in the collection.xconf)?
The queries may be regular expressions, but in most cases I should be able to
optimize this to starts-with or ends-with or contains.
And if that is not possible, is there a way to know whether the "normal"
contains, matches etc. functions use the index or not?
Am Freitag 22 Oktober 2010, um 07:53:43 schrieben Sie:
> > is there a good way to do fast case-insensitive search?
> The NGram index is case-insensitive and is best for substring queries
> (using ngram:contains).