]> git.parisson.com Git - telemeta.git/commitdiff
Optimize the search_indexes and delete useless comment
authorKaltar5679 <killian.mary@outlook.fr>
Wed, 13 May 2015 13:42:56 +0000 (15:42 +0200)
committerKaltar5679 <killian.mary@outlook.fr>
Wed, 13 May 2015 13:42:56 +0000 (15:42 +0200)
telemeta/forms/haystack_form.py
telemeta/search_indexes.py

index 178903ebd4bd0cc528a406c6b42606e44035d706..d3c1a21b7bc9fb542ac9d1774c39a754833ad1d9 100644 (file)
@@ -107,8 +107,7 @@ class HayAdvanceForm(SearchForm):
 
     year_published_from = forms.IntegerField(required=False, label=('Year published from'), widget=forms.Select(choices=list_publish_year()))
     year_published_to = forms.IntegerField(required=False, label=('Year published to'), widget=forms.Select(choices=list_publish_year()))
-    #year_published_from = forms.IntegerField(required=False, label=('Year published from'), widget=forms.TextInput(attrs={'type': 'search', 'placeholder': 'YYYY', 'pattern': '[0-9]{4}'}))
-    #year_published_to = forms.IntegerField(required=False, label=('Year published to'), widget=forms.TextInput(attrs={'type': 'search', 'placeholder': 'YYYY', 'pattern': '[0-9]{4}'}))
+
     viewable_choice = (('1', 'no preference'), ('2', 'fichier dans le player + full'), ('3', 'fichier dans le player(j\'ai un compte)'))
     viewable = forms.CharField(required=False, label=('Viewable'), widget=forms.RadioSelect(choices=viewable_choice), initial=1)
 
index 624f2d852145bb33a9b5d259fda781524cc390c6..c5d29ec94e298af8b6e4b53009abceb315a66b49 100644 (file)
@@ -16,8 +16,8 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable):
     #advance search
     title = indexes.NgramField(model_attr='title')
     code = indexes.NgramField(model_attr='code', default='')
-    location = indexes.NgramField(model_attr='location__name', default='', null='None')
-    ethnic_group = indexes.NgramField(model_attr='ethnic_group', default='')
+    location = indexes.CharField(model_attr='location__name', default='', null='None')
+    ethnic_group = indexes.CharField(model_attr='ethnic_group', default='')
     instruments = indexes.NgramField(default='')
     collectors = indexes.NgramField(model_attr='collector', default='')
     recorded_from_date = indexes.DateField(model_attr='recorded_from_date', null='None')
@@ -47,7 +47,7 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable):
         return "%s" % location
 
     def prepare_instruments(self, obj):
-        item = MediaItemPerformance.objects.all().filter(media_item__title__contains=obj.title)
+        item = MediaItemPerformance.objects.all().filter(media_item__exact=obj)
         instruments = []
         for material in item:
             instruments.append(material.instrument)
@@ -63,7 +63,7 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable):
 
 class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable):
 
-    text = indexes.NgramField(document=True, use_template=True)
+    text = indexes.CharField(document=True, use_template=True)
     item_acces = indexes.CharField(model_attr='public_access', faceted=True)
     item_status = indexes.CharField(model_attr='document_status', faceted=True)
     digitized = indexes.BooleanField(default=False, faceted=True)
@@ -74,8 +74,8 @@ class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable):
     #advance search
     title = indexes.NgramField(model_attr='title')
     code = indexes.NgramField(model_attr='code', default='')
-    location = indexes.NgramField(default='')
-    ethnic_group = indexes.NgramField(default='')
+    location = indexes.CharField(default='')
+    ethnic_group = indexes.CharField(default='')
     instruments = indexes.NgramField(default='')
     collectors = indexes.NgramField(model_attr='collector', default='')
     recorded_from_date = indexes.DateField(model_attr='recorded_from_year', null='None')
@@ -111,7 +111,7 @@ class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable):
         instruments = []
         items = obj.items.all()
         for item in items:
-            materials = MediaItemPerformance.objects.all().filter(media_item__title__exact=item.title)
+            materials = MediaItemPerformance.objects.all().filter(media_item__exact=item)
             for material in materials:
                 if material.instrument and not material.instrument in instruments:
                     instruments.append(material.instrument)