Elastic: use ngrams for user search but not assets

This commit is contained in:
Sybren A. Stüvel 2018-01-12 15:36:15 +01:00
parent b2bd01117e
commit 6748fd0006

View File

@ -32,6 +32,12 @@ ngram_filter = analysis.token_filter(
)
autocomplete = es.analyzer(
'autocomplete',
tokenizer='standard',
filter=['standard', 'asciifolding', 'lowercase', edge_ngram_filter]
)
all_gram = es.analyzer(
'autocomplete',
tokenizer='standard',
filter=['standard', 'asciifolding', 'lowercase', ngram_filter, edge_ngram_filter]
@ -43,14 +49,14 @@ class User(es.DocType):
objectID = es.Keyword()
username = es.Text(fielddata=True, analyzer=autocomplete)
username = es.Text(fielddata=True, analyzer=all_gram)
username_exact = es.Keyword()
full_name = es.Text(fielddata=True, analyzer=autocomplete)
full_name = es.Text(fielddata=True, analyzer=all_gram)
roles = es.Keyword(multi=True)
groups = es.Keyword(multi=True)
email = es.Text(fielddata=True, analyzer=autocomplete)
email = es.Text(fielddata=True, analyzer=all_gram)
email_exact = es.Keyword()
class Meta: