From ca14ea0a5cea9edc80896080dd2075771cea0954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Tue, 25 Mar 2014 16:42:05 +0100 Subject: [PATCH] index more words from thesaurus (#4570) --- src/collective/dms/thesaurus/dmskeyword.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/collective/dms/thesaurus/dmskeyword.py b/src/collective/dms/thesaurus/dmskeyword.py index 2e490f2..6b72217 100644 --- a/src/collective/dms/thesaurus/dmskeyword.py +++ b/src/collective/dms/thesaurus/dmskeyword.py @@ -61,6 +61,22 @@ class DmsKeyword(Item): """ """ implements(IDmsKeyword) + def get_words_for_indexation(self, limit=5): + thesaurus = aq_parent(self) + words = [] + words.append(self.title) + for word in self.equivs or []: + words.append(word) + if limit > 0: + for broader_keyword in self.broader or []: + try: + keyword = thesaurus[broader_keyword] + except KeyError: + continue + words.append(keyword.get_words_for_indexation(limit=limit-1)) + return ' '.join(words) + + class DmsKeywordSchemaPolicy(DexteritySchemaPolicy): """ """