Skip to content

Commit

Permalink
Change lower_case_sort to normalizer, adjust snowflakes search
Browse files Browse the repository at this point in the history
  • Loading branch information
carlvitzthum committed Oct 16, 2019
1 parent 8756395 commit 83aad22
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 56 deletions.
78 changes: 24 additions & 54 deletions src/snovault/elasticsearch/create_mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,14 +113,9 @@ def schema_mapping(field, schema, top_level=False):
'ignore_above': KW_IGNORE_ABOVE
},
'lower_case_sort': {
'type': 'text',
'analyzer': 'case_insensistive_sort',
'fields': {
'keyword': {
'type': 'keyword',
'ignore_above': KW_IGNORE_ABOVE
}
}
'type': 'keyword',
'normalizer': 'case_insensistive_sort',
'ignore_above': KW_IGNORE_ABOVE
}
}
}
Expand All @@ -138,14 +133,9 @@ def schema_mapping(field, schema, top_level=False):
'ignore_above': KW_IGNORE_ABOVE
},
'lower_case_sort': {
'type': 'text',
'analyzer': 'case_insensistive_sort',
'fields': {
'keyword': {
'type': 'keyword',
'ignore_above': KW_IGNORE_ABOVE
}
}
'type': 'keyword',
'normalizer': 'case_insensistive_sort',
'ignore_above': KW_IGNORE_ABOVE
}
}
}
Expand All @@ -159,14 +149,9 @@ def schema_mapping(field, schema, top_level=False):
'ignore_above': KW_IGNORE_ABOVE
},
'lower_case_sort': {
'type': 'text',
'analyzer': 'case_insensistive_sort',
'fields': {
'keyword': {
'type': 'keyword',
'ignore_above': KW_IGNORE_ABOVE
}
}
'type': 'keyword',
'normalizer': 'case_insensistive_sort',
'ignore_above': KW_IGNORE_ABOVE
}
}
}
Expand All @@ -184,14 +169,9 @@ def schema_mapping(field, schema, top_level=False):
'ignore_above': KW_IGNORE_ABOVE
},
'lower_case_sort': {
'type': 'text',
'analyzer': 'case_insensistive_sort',
'fields': {
'keyword': {
'type': 'keyword',
'ignore_above': KW_IGNORE_ABOVE
}
}
'type': 'keyword',
'normalizer': 'case_insensistive_sort',
'ignore_above': KW_IGNORE_ABOVE
}
}
}
Expand All @@ -210,14 +190,9 @@ def schema_mapping(field, schema, top_level=False):
'ignore_above': KW_IGNORE_ABOVE
},
'lower_case_sort': {
'type': 'text',
'analyzer': 'case_insensistive_sort',
'fields': {
'keyword': {
'type': 'keyword',
'ignore_above': KW_IGNORE_ABOVE
}
}
'type': 'keyword',
'normalizer': 'case_insensistive_sort',
'ignore_above': KW_IGNORE_ABOVE
}
}
}
Expand All @@ -231,14 +206,9 @@ def schema_mapping(field, schema, top_level=False):
'ignore_above': KW_IGNORE_ABOVE
},
'lower_case_sort': {
'type': 'text',
'analyzer': 'case_insensistive_sort',
'fields': {
'keyword': {
'type': 'keyword',
'ignore_above': KW_IGNORE_ABOVE
}
}
'type': 'keyword',
'normalizer': 'case_insensistive_sort',
'ignore_above': KW_IGNORE_ABOVE
}
}
}
Expand Down Expand Up @@ -296,12 +266,6 @@ def index_settings():
'asciifolding'
]
},
'case_insensistive_sort': {
'tokenizer': 'keyword',
'filter': [
'lowercase',
]
},
'snovault_path_analyzer': {
'type': 'custom',
'tokenizer': 'snovault_path_tokenizer',
Expand All @@ -313,6 +277,12 @@ def index_settings():
'type': 'path_hierarchy',
'reverse': True
}
},
'normalizer': {
'case_insensistive_sort': {
'type': 'custom',
'filter': ['lowercase']
}
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/snowflakes/search.py
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ def add_to_sort_dict(requested_sort):
}
else:
# fallback case, applies to all string type:string fields
sort['embedded.' + name + '.lower_case_sort.keyword'] = result_sort[name] = {
sort['embedded.' + name + '.lower_case_sort'] = result_sort[name] = {
'order': order,
'unmapped_type': 'keyword',
'missing': '_last'
Expand All @@ -574,7 +574,7 @@ def add_to_sort_dict(requested_sort):
for k, v in type_schema['sort_by'].items():
# Should always sort on raw field rather than analyzed field
# OR search on lower_case_sort for case insensitive results
sort['embedded.' + k + '.lower_case_sort.keyword'] = result_sort[k] = v
sort['embedded.' + k + '.lower_case_sort'] = result_sort[k] = v
# Default is most recent first, then alphabetical by label
if not sort:
sort['embedded.date_created.raw'] = result_sort['date_created'] = {
Expand Down

0 comments on commit 83aad22

Please sign in to comment.