Paavo Parkkinen wrote:
How do I add a vocabulary to a catalog so that the singlechars option is set, from a python script? It needs the extra.splitterSingleChars set, but I have no idea how to do that.
As far as I know you can't build records in PythonScripts which are needed to add the new kind of Indexes... Maybe some interface should be implemented into the Zope-Core to do this kind of stuff. In the meanwhile you can try something like this in an External Python Method: class Extra: """ Just a dummy to build records for the Lexicon. """ pass wordSplitter = Extra() wordSplitter.group = 'Word Splitter' wordSplitter.name = 'Whitespace splitter' caseNormalizer = Extra() caseNormalizer.group = 'Case Normalizer' caseNormalizer.name = 'Case Normalizer' self.Catalog.manage_addProduct['ZCTextIndex'].manage_addLexicon( 'Lexicon', 'Lexicon', (wordSplitter, caseNormalizer)) extra = Extra() extra.index_type = 'Okapi BM25 Rank' extra.lexicon_id = 'Lexicon' self.Catalog.manage_addIndex('mDate', 'DateIndex') self.Catalog.addIndex('mSubject', 'ZCTextIndex', extra) Cheers, Maik