Exemple #1
0
 def test_simple_search(self):
     try:
         search_index = SearchIndex(self.context)
         hits, searcher = search_index.search('test')
         for i, doc in hits:
             foo, bar = doc.get('uid'), hits.score(i)
         if searcher:
             searcher.close()
     except Exception, e:
         self.fail('Error searching: %s' % e)
Exemple #2
0
    config.read_file(options.config)
    context = canary.context.Context(config)
    source_catalog = context.get_source_catalog()
    ctm = source_catalog.get_complete_mapping()

    if not args:
        print usage
        sys.exit(0)

    query_str = options.boolean.join(
        [' "%s" [%s] ' % (term, options.field) for term in args])
    #print query_str.strip()

    search_index = SearchIndex(context)
    hit_list = []
    hits, searcher = search_index.search(query_str)
    for i, doc in hits:
        hit_list.append(doc.get('uid'))
    searcher.close()

    output = []
    for id in hit_list:
        rec = QueuedRecord(context, int(id))
        if options.locations:
            study = Study(context, rec.study_id)
            for loc in study.locations:
                out = []
                out.extend((id, loc.uid, loc.study_id, loc.feature_id))
                feature = Feature(uid=loc.feature_id)
                feature.load(context)
                out.extend((feature.latitude, feature.longitude, feature.name,
    search_index = SearchIndex(context)
    searches = (
        'Lead [exposure]',
        'Hantavirus [exposure]',
        'peromyscus [species]',
        'Michigan [location]',
        'DDT [exposure]',
        '2003 [year]',
        'cats and dogs',
        '"Burger J" [author]',
        'cross-sectional [methodology]',
        'case-control [methodology] and cattle [species]',
        'disease-model [methodology]',
        '"age factors" [risk_factors]',
        'Sarin [exposure]',
        'Arsenic [exposure]',
        '"Bacillus anthracis" [exposure]',
        '"West Nile Virus" [exposure]',
        '"Water Pollutants, Chemical" [exposure]',
    )
    for t in searches:
        hits, searcher = search_index.search(t)
        result_set = []
        for i, doc in hits:
            uid = doc.get(str('uid'))
            record = QueuedRecord(context, uid)
            if record.status == record.STATUS_CURATED:
                result_set.append(record)
        searcher.close()
        makeplot(context, t, result_set)