I have started on SOLR-330 and the first one to tackle is the CapitilizationFilterFactory (just starting at the top of the analysis package).

At any rate, there are some optimizations to be made here, but one thing in the file that is not explicitly stated is that the "keep" word list is case-insensitive. This is the current, undocumented, behavior. I am fine with documenting and making it so going forward. However, if, instead, we make it case-sensitive, we can then use a CharArraySet (from Lucene) to do quick look ups of the term buffer char array. The reason this comes up is that Token.termText() is now deprecated and I am switching off to use the Token.termBuffer() char array. This filter can then just operate directly on the char array, which should be a lot faster.

Any opinion on this?


Reply via email to