コード例 #1
0
def default_search_unit(p, f, m, wl):
    """Query correct index type and return hitset."""
    if m == 'a' or m == 'r' or is_marc_tag(f):
        # we are doing either phrase search or regexp search
        index_id = IdxINDEX.get_index_id_from_field(f)
        if index_id != 0:
            if m == 'a' and index_id in IdxINDEX.get_idxpair_field_ids():
                # for exact match on the admin configured fields
                # we are searching in the pair tables
                hitset = search_unit_in_idxpairs(p, f, m or 'a', wl)
            else:
                hitset = search_unit_in_idxphrases(p, f, m or 'a', wl)
        else:
            hitset = search_unit_in_bibxxx(p, f, m or 'a', wl)
    else:
        # we are doing bibwords search by default
        hitset = search_unit_in_bibwords(p, f, wl=wl)
    return hitset
コード例 #2
0
ファイル: native.py プロジェクト: SCOAP3/invenio
def default_search_unit(p, f, m, wl):
    """Query correct index type and return hitset."""
    if m == 'a' or m == 'r' or is_marc_tag(f):
        # we are doing either phrase search or regexp search
        index_id = IdxINDEX.get_index_id_from_field(f)
        if index_id != 0:
            if m == 'a' and index_id in IdxINDEX.get_idxpair_field_ids():
                # for exact match on the admin configured fields
                # we are searching in the pair tables
                hitset = search_unit_in_idxpairs(p, f, m or 'a', wl)
            else:
                hitset = search_unit_in_idxphrases(p, f, m or 'a', wl)
        else:
            hitset = search_unit_in_bibxxx(p, f, m or 'a', wl)
    else:
        # we are doing bibwords search by default
        hitset = search_unit_in_bibwords(p, f, wl=wl)
    return hitset