-pas assez d items dans recherche
+date enreg -> periode enr
+
+en ligne /acces compte marche pas
+
+taille max analyzer ES prod
+
+message attente autoc.
+
+verif format cote recherche (ex : _I_1995_ ) simple
+
+message erreur annee
+
+autoc lieu
+
+titre recherche bool
-filtres apparait 1 fois sur 2
+item deja dans liste
+
+inedits/edites X2 filtres
+
+1893 annee fantome
+
+fin traduc (Maj + fonctions supp)
+
+cahngement page : reste sur mm tri
+
+verif req bool quand valid avancee
+
+completer form quand recherche avancee avec resultats
+
+pas assez d items dans recherche
nb items enum + liste
if self.cleaned_data.get('ethnic_group') != '':
sqs = sqs.filter(ethnic_group__contains=self.cleaned_data['ethnic_group'])
- if self.cleaned_data.get('instruments'):
- sqs = sqs.filter(self.filterInstru(self.cleaned_data['instruments']))#
+ if self.cleaned_data.get('instruments'):#
+ print(self.filterInstru(self.cleaned_data['instruments']))
+ sqs = sqs.filter(self.filterInstru(self.cleaned_data['instruments']))
if self.cleaned_data.get('collectors'):
- sqs = sqs.filter(collectors__contains=self.cleaned_data['collectors'])
+ sqs = sqs.filter(collectors__startswith=self.cleaned_data['collectors'])
if self.cleaned_data['recorded_from_date']:
sqs = sqs.filter(recorded_from_date__gte=self.cleaned_data['recorded_from_date'])
# -*- coding: utf-8 -*-
from haystack.backends.elasticsearch_backend import *
+import string
+import re
+
+regexSpacePunc = "[\\s"+re.escape(string.punctuation)+"]+"
class CustomElasticBackend(ElasticsearchSearchBackend):
FIELD_MAPPINGS['keyword'] = {'type': 'string', 'analyzer':'lowercase_analyzer'}
eb = super(CustomElasticBackend, self)
eb.DEFAULT_SETTINGS.get('settings').get('analysis').get('tokenizer')['esc_scape_tokenizer']=\
- {"type": "pattern", "pattern": "\\s|\\|"}
+ {"type": "pattern", "pattern": regexSpacePunc}
eb.DEFAULT_SETTINGS.get('settings').get('analysis').get('analyzer')['whitespace_asciifolding_analyzer']=\
- {"type": "custom", "tokenizer": "esc_scape_tokenizer", "filter": ["lowercase", "word_delimiter", "asciifolding"]}
+ {"type": "custom", "tokenizer": "esc_scape_tokenizer", "filter": ["lowercase", "asciifolding"]}
eb.DEFAULT_SETTINGS.get('settings').get('analysis').get('analyzer')['lowercase_analyzer'] = \
{"type": "custom", "tokenizer": "keyword", "filter": ["lowercase"]}
eb.setup()
-import unicodedata
-class CustomElasticSearchQuery(ElasticsearchSearchQuery):
+import unicodedata#
+class CustomElasticSearchQuery(ElasticsearchSearchQuery):#
def build_query_fragment(self, field, filter_type, value):
- #print(field, ' ', filter_type, ' ', value)
+ print("Query fragment :"+ field+ ' '+ filter_type+ ' '+ value)
valeur = super(CustomElasticSearchQuery, self).build_query_fragment(field, filter_type, value)
- #print(valeur)
+ print("Query fragment result "+ valeur)
return valeur
def build_query(self):