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