def name_query(q):
    # * Prefer text matches first, using the standard text analyzer (boost=3).
    # * Then text matches, using language-specific analyzer (boost=2.5).
    # * Then try fuzzy matches ("fire bug" => firebug) (boost=2).
    # * Then look for the query as a prefix of a name (boost=1.5).
    # * Look for phrase matches inside the summary (boost=0.8).
    # * Look for phrase matches inside the summary using language specific
    #   analyzer (boost=0.6).
    # * Look for phrase matches inside the description (boost=0.3).
    # * Look for phrase matches inside the description using language
    #   specific analyzer (boost=0.1).
    # * Look for matches inside tags (boost=0.1).
    more = dict(summary__match={'query': q, 'boost': 0.8, 'type': 'phrase'},
                description__match={'query': q, 'boost': 0.3,
                                    'type': 'phrase'},
                tags__match={'query': q.split(), 'boost': 0.1})

    analyzer = get_locale_analyzer(translation.get_language())
    if analyzer:
        more['summary_%s__match' % analyzer] = {'query': q,
                                                'boost': 0.6,
                                                'type': 'phrase',
                                                'analyzer': analyzer}
        more[analyzer % 'description_%s__match'] = {'query': q,
                                                    'boost': 0.1,
                                                    'type': 'phrase',
                                                    'analyzer': analyzer}
    return dict(more, **name_only_query(q))
dataset/ETHPy150Open mozilla/addons-server/src/olympia/search/views.py/name_query/swapped operands of `%`