Search Settings Reference

This reference contains all search related settings that go in settings.py

Search Indices

Configure your Globus Search indexes with the SEARCH_INDEXES variable in your myproject/settings.py file. Below are all of the main top-level fields. The following match directly with Globus Search fields, and match directly with Globus Search.

  • facets

  • sort

  • boosts

  • bypass_visible_to

  • result_format_version

See more information in the Globus Search documentation

Field Name

Description

name

The title of this search index.

uuid

The Globus Search UUID for this Globus Search Index

fields

User defined functions for processing metadata returned by Globus Searches

facets

Display stats on search results, provide corresponding filters for future Searches

facet_modifiers

Change how facets are displayed. See Facet Modifiers

sort

Sort results of a Globus Search

boosts

Increase or decrease values of fields

filter_match

Default filtering on ‘term’ facets. ‘match-any’ or ‘match-all’ supported

template_override_dir

Directory for using different custom templates per-index on a multi-index portal

result_format_version

Version of Search Result documents to return

bypass_visible_to

Show all search records regardless visible_to permission (index admins only)

Search Settings Example

SEARCH_INDEXES = {
    'myportal': {
        'name': 'My Science Portal',
        'uuid': '5e83718e-add0-4f06-a00d-577dc78359bc',
        'fields': [
            'my_title'
        ],
        'facets': [
            {
                'field_name': 'foo.bar.baz',
            }
        ],
        'sort': [
            {
                'field_name': 'path.to.date',
                'order': 'asc'
            }
        ]
        'boosts': [
            {
                'field_name': 'author',
                'factor': 5
            }
        ],
        'filter_match': 'match-all',
        'template_override_dir': 'myportal',
        'bypass_visible_to': True,
    }
}

Configuring Facets

Field information for each list entry defined in “facets” is described here. Information within each object is checked and mostly forwarded on to Globus Search. See more information in the Globus Search documentation

Field Name

Type

Description

name

String

Title for this facet

field_name

String

The search metadata field where this facet should be applied

type

String

Type of facet. Supported: terms, date_histogram, numeric_histogram, sum, avg

size

Integer

Number of ‘buckets’ to return

histogram_range

Object

Contains ‘low’ and ‘high’ number or date to specify range bounds

date_interval

String

Date Unit to use. Supported: years, months, days, hours, minutes, seconds

For more information on how facets can be displayed, See Facet Modifiers

Facet Setting Example

The following is an example SEARCH_INDEXES inside myproject/settings.py

SEARCH_INDEXES = {
    'myportal': {
        'name': 'My Portal',
        'uuid': '5e83718e-add0-4f06-a00d-577dc78359bc',
        'fields': [],
        'facets': [
            {
                'name': 'Term Facets',
                'field_name': 'mybooks.genre',
            },
            {
                'name': 'Dates',
                'field_name': 'dc.dates.date',
                'type': 'date_histogram',
                'date_interval': 'day',
            },
            {
                'name': 'File Sizes',
                'field_name': 'files.length',
                'type': 'numeric_histogram',
                'histogram_range': {'low': 0, 'high': 10000}
            },
        ],
        'facet_modifiers': [
            'globus_portal_framework.modifiers.facets.drop_empty',
        ],
        'filter_match': 'match-all',
    }
}