correct field selection on autocomplete
authorymh <ymh.work@gmail.com>
Wed, 05 Feb 2014 13:32:41 +0100
changeset 341 9b7682bc6f0c
parent 340 a7f6df0f8559
child 342 8648456307ae
correct field selection on autocomplete
src/jocondelab/views/ajax.py
--- a/src/jocondelab/views/ajax.py	Wed Feb 05 04:37:37 2014 +0100
+++ b/src/jocondelab/views/ajax.py	Wed Feb 05 13:32:41 2014 +0100
@@ -72,10 +72,10 @@
     if not res_list:
 
         if lang in [ "fr", "en", "de", "it", "es", "pt", "ca", "br", "eu", "oc" ]:
-            fields_index_qs = SearchQuerySet().models(DbpediaFields).filter(language_code__exact=lang).autocomplete(label_ngram=q)
+            fields_index_qs = SearchQuerySet().models(DbpediaFields).filter(language_code__exact=lang).autocomplete(label_edge=q)
         else:
-            fields_index_qs = SearchQuerySet().models(DbpediaFields).filter(language_code__exact=lang).autocomplete(label_edge=q)
-    
+            fields_index_qs = SearchQuerySet().models(DbpediaFields).filter(language_code__exact=lang).autocomplete(label_ngram=q)
+
         res_dict = {}
         for r in fields_index_qs[:count*5]:
             dbpedia_uri = r.get_stored_fields()['dbpedia_uri']
@@ -85,7 +85,7 @@
             res_entry = res_dict.setdefault(dbpedia_uri, {'label': None, 'score':0, 'uri':dbpedia_uri})
             res_entry['label'] = label if label and not res_entry.get('label', None) else res_entry['label']
             res_entry['score'] += r.score
-        
+
         res_list = sorted([ res_entry for res_entry in res_dict.values()],key=lambda r: r.get('score',0), reverse=True)
         cache.set(cachekey, res_list)
     return HttpResponse(content=json.dumps([{"dbpedia_uri":r.get('uri'), "label": r.get('label','')} for r in res_list]), mimetype='application/json')