Skip to content

Commit

Permalink
SNO-108-improve-search-new (#212)
Browse files Browse the repository at this point in the history
SNO-108 Improve search mapping and add boost
  • Loading branch information
keenangraham authored and hitz committed Jul 23, 2019
1 parent 8754ae6 commit f6b1445
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 18 deletions.
43 changes: 35 additions & 8 deletions src/snovault/elasticsearch/create_mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@
META_MAPPING = {
'_all': {
'enabled': False,
'analyzer': 'snovault_index_analyzer',
'search_analyzer': 'snovault_search_analyzer'
'analyzer': 'snovault_search_analyzer'
},
'dynamic_templates': [
{
Expand Down Expand Up @@ -176,6 +175,25 @@ def index_settings():
'type': 'nGram',
'min_gram': 1,
'max_gram': 33
},
'english_stop': {
'type': 'stop',
'stopwords': '_english_'
},
'english_stemmer': {
'type': 'stemmer',
'language': 'english'
},
'english_possessive_stemmer': {
'type': 'stemmer',
'language': 'possessive_english'
},
'delimiter': {
'type': 'word_delimiter',
'catenate_all': True,
'preserve_original': True,
'stem_english_possessive': True,
'split_on_numerics': False
}
},
'analyzer': {
Expand All @@ -184,28 +202,38 @@ def index_settings():
'tokenizer': 'whitespace',
'char_filter': 'html_strip',
'filter': [
'standard',
'english_possessive_stemmer',
'lowercase',
'english_stop',
'english_stemmer',
'asciifolding',
'delimiter'
]
},
'snovault_index_analyzer': {
'type': 'custom',
'tokenizer': 'whitespace',
'char_filter': 'html_strip',
'filter': [
'standard',
'english_possessive_stemmer',
'lowercase',
'english_stop',
'english_stemmer',
'asciifolding',
'delimiter',
'substring'
]
},
'snovault_search_analyzer': {
'type': 'custom',
'tokenizer': 'whitespace',
'filter': [
'standard',
'english_possessive_stemmer',
'lowercase',
'asciifolding'
'english_stop',
'english_stemmer',
'asciifolding',
'delimiter'
]
},
'snovault_path_analyzer': {
Expand Down Expand Up @@ -247,8 +275,7 @@ def es_mapping(mapping):
return {
'_all': {
'enabled': True,
'analyzer': 'snovault_index_analyzer',
'search_analyzer': 'snovault_search_analyzer'
'analyzer': 'snovault_search_analyzer'
},
'dynamic_templates': [
{
Expand Down
10 changes: 1 addition & 9 deletions src/snovault/helpers/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,15 +157,7 @@ def get_search_fields(request, doc_types):
Returns set of columns that are being searched and highlights
"""

fields = {'uuid', 'unique_keys.*'}
highlights = {}
types = request.registry[TYPES]
for doc_type in doc_types:
type_info = types[doc_type]
for value in type_info.schema.get('boost_values', ()):
fields.add('embedded.' + value)
highlights['embedded.' + value] = {}
return list(fields), highlights
return [], {}


def list_visible_columns_for_schemas(request, schemas):
Expand Down
2 changes: 1 addition & 1 deletion src/snovault/viewconfigs/searchview.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ def preprocess_view(self, views=None, search_result_actions=None, preserve_order
del query['query']['query_string']
else:
query['query']['query_string']['fields'].extend(
['_all', '*.uuid', '*.md5sum', '*.submitted_file_name']
['_all']
)
set_sort_order(self._request, search_term, types, doc_types, query, result)
used_filters = set_filters(self._request, query, result)
Expand Down

0 comments on commit f6b1445

Please sign in to comment.