Index tags correctly
authorCharles Connell <charles@connells.org>
Thu, 2 Jan 2014 21:16:58 +0000 (16:16 -0500)
committerCharles Connell <charles@connells.org>
Thu, 2 Jan 2014 21:17:25 +0000 (16:17 -0500)
karmaworld/apps/notes/search.py

index 039a27317527944d29f0631442996e2c7767149d..db36aa78be5447b155a72ae4a7143b9c772897bf 100644 (file)
@@ -6,6 +6,10 @@ import time
 import indextank.client as itc
 import karmaworld.secret.indexden as secret
 
+import logging
+
+logger = logging.getLogger(__name__)
+
 api_client = itc.ApiClient(secret.PRIVATE_URL)
 if not api_client.get_index(secret.INDEX).exists():
     api_client.create_index(secret.INDEX, {'public_search': False})
@@ -18,13 +22,11 @@ while not index.has_started():
 def note_to_dict(note):
     d = {
         'name': note.name,
+        'text': note.text
     }
 
-    if note.text:
-        d['text'] = note.text
-
     if note.tags.exists():
-        d['tags'] = [str(tag) for tag in note.tags.all()]
+        d['tags'] = ' '.join([str(tag) for tag in note.tags.all()])
 
     if note.course:
         d['course_id'] = note.course.id
@@ -32,7 +34,10 @@ def note_to_dict(note):
     return d
 
 def add_document(note):
-    index.add_document(note.id, note_to_dict(note))
+    if note.text:
+        index.add_document(note.id, note_to_dict(note))
+    else:
+        logger.warn("Note {n} has no text, will not add to IndexDen".format(n=note))
 
 def remove_document(note):
     index.delete_document(note.id)