def fulltext_search(query, lang, params):
 pks = set()
 search = {'source': False, 'context': False, 'target': False, 'comment': False, 'location': False}
 search.update(params)
 if (search['source'] or search['context'] or search['location']):
  pks.update(base_search(get_source_index(), query, ('source', 'context', 'location'), search, SourceSchema()))
 if (search['target'] or search['comment']):
  pks.update(base_search(get_target_index(lang), query, ('target', 'comment'), search, TargetSchema()))
 return pks

def fulltext_search ( query , lang , params ) : pks = set ( ) search = { 'source' : False , 'context' : False , 'target' : False , 'comment' : False , 'location' : False } search . update ( params ) if ( search [ 'source' ] or search [ 'context' ] or search [ 'location' ] ) : pks . update ( base_search ( get_source_index ( ) , query , ( 'source' , 'context' , 'location' ) , search , SourceSchema ( ) ) ) if ( search [ 'target' ] or search [ 'comment' ] ) : pks . update ( base_search ( get_target_index ( lang ) , query , ( 'target' , 'comment' ) , search , TargetSchema ( ) ) ) return pks
performs fulltext search in given areas .