From 8a8f5dd4b7f9971510d624d61455baf0bde4221c Mon Sep 17 00:00:00 2001 From: Marcin Koziej Date: Mon, 16 Jan 2012 15:07:47 +0100 Subject: [PATCH 1/1] cotnent indexing - bugs. --- apps/catalogue/tasks.py | 8 +++++++- apps/search/index.py | 9 ++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/apps/catalogue/tasks.py b/apps/catalogue/tasks.py index 86e84a511..e1ff9151a 100755 --- a/apps/catalogue/tasks.py +++ b/apps/catalogue/tasks.py @@ -5,6 +5,7 @@ from datetime import datetime from celery.task import task import catalogue.models +from traceback import print_exc @task def touch_tag(tag): @@ -18,4 +19,9 @@ def touch_tag(tag): @task def index_book(book_id, book_info=None): - return catalogue.models.Book.objects.get(id=book_id).search_index(book_info) + try: + return catalogue.models.Book.objects.get(id=book_id).search_index(book_info) + except Exception, e: + print "Exception during index: %s" % e + print_exc() + raise e diff --git a/apps/search/index.py b/apps/search/index.py index 7ab3de9dd..29e41d222 100644 --- a/apps/search/index.py +++ b/apps/search/index.py @@ -139,7 +139,6 @@ class Snippets(object): self.file.write(txt) pos = (self.position, l) self.position += l - print "SSSS %s - %s" % (pos, txt) return pos def get(self, pos): @@ -213,7 +212,7 @@ class Index(BaseIndex): for tag in catalogue.models.Tag.objects.all(): doc = Document() - doc.add(NumericField("tag_id", Field.Store.YES, True).setIntValue(tag.id)) + doc.add(NumericField("tag_id", Field.Store.YES, True).setIntValue(int(tag.id))) doc.add(Field("tag_name", tag.name, Field.Store.NO, Field.Index.ANALYZED)) doc.add(Field("tag_name_pl", tag.name, Field.Store.NO, Field.Index.ANALYZED)) doc.add(Field("tag_category", tag.category, Field.Store.NO, Field.Index.NOT_ANALYZED)) @@ -224,9 +223,9 @@ class Index(BaseIndex): Create a lucene document referring book id. """ doc = Document() - doc.add(NumericField("book_id", Field.Store.YES, True).setIntValue(book.id)) + doc.add(NumericField("book_id", Field.Store.YES, True).setIntValue(int(book.id))) if book.parent is not None: - doc.add(NumericField("parent_id", Field.Store.YES, True).setIntValue(book.parent.id)) + doc.add(NumericField("parent_id", Field.Store.YES, True).setIntValue(int(book.parent.id))) return doc def remove_book(self, book): @@ -454,7 +453,7 @@ class Index(BaseIndex): # in the end, add a section text. doc = add_part(snippets, header_index=position, header_type=header.tag, - content=fix_format(u' '.join(filter(lambda s: s is not None, frag['content'])))) + content=fix_format(u' '.join(filter(lambda s: s is not None, content)))) self.index.addDocument(doc) -- 2.20.1