def update_index(self, which_indexing): #setup new indexing if 'new' in which_indexing: indexing.update_index_properties(self) if config.get('enable_fulltext_search'): full_text_search.add_record_to_index(self) # setup old indexing if 'old' in which_indexing: prefix.update_prefix_properties(self)
def test_search_by_name_only(self): db.put(self.p1) db.put(self.p2) db.put(self.p3) db.put(self.p4) full_text_search.add_record_to_index(self.p1) full_text_search.add_record_to_index(self.p2) full_text_search.add_record_to_index(self.p3) full_text_search.add_record_to_index(self.p4) # Search by alternate name results = full_text_search.search('haiti', 'Iorin', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by family name results = full_text_search.search('haiti', 'Minase', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name results = full_text_search.search('haiti', 'Iori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name + family name results = full_text_search.search('haiti', 'Minase Iori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by full name resutls = full_text_search.search('haiti', 'Iori Minase', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search in a different repository results = full_text_search.search('japan', 'Iori', 5) assert not results # Check no results results = full_text_search.search('haiti', 'Producer san', 5) assert not results # Search with no query text results = full_text_search.search('haiti', '', 5) assert not results
def test_delete_record_from_index(self): db.put(self.p4) full_text_search.add_record_to_index(self.p4) full_text_search.delete_record_from_index(self.p4) results = full_text_search.search('haiti', 'Miki', 5) assert not results
def test_search_by_name_only(self): db.put(self.p1) db.put(self.p2) db.put(self.p3) db.put(self.p4) db.put(self.p5) db.put(self.p6) db.put(self.p7) db.put(self.p8) db.put(self.p9) db.put(self.p10) db.put(self.p11) db.put(self.p12) db.put(self.p13) db.put(self.p14) db.put(self.p15) db.put(self.p16) full_text_search.add_record_to_index(self.p1) full_text_search.add_record_to_index(self.p2) full_text_search.add_record_to_index(self.p3) full_text_search.add_record_to_index(self.p4) full_text_search.add_record_to_index(self.p5) full_text_search.add_record_to_index(self.p6) full_text_search.add_record_to_index(self.p7) full_text_search.add_record_to_index(self.p8) full_text_search.add_record_to_index(self.p9) full_text_search.add_record_to_index(self.p10) full_text_search.add_record_to_index(self.p11) full_text_search.add_record_to_index(self.p12) full_text_search.add_record_to_index(self.p13) full_text_search.add_record_to_index(self.p14) full_text_search.add_record_to_index(self.p15) full_text_search.add_record_to_index(self.p16) # Search by alternate name results = full_text_search.search('haiti', 'Iorin', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by family name results = full_text_search.search('haiti', 'Minase', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name results = full_text_search.search('haiti', 'Iori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name + family name results = full_text_search.search('haiti', 'Minase Iori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by full name resutls = full_text_search.search('haiti', 'Iori Minase', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by name & location results = full_text_search.search('haiti', 'Chihaya Arao', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search Cyrillic record by name & location results = full_text_search.search('haiti', 'Ritsuko Tottori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0623']) # Search by home_street only results = full_text_search.search('haiti', 'Kunaideme72', 5) assert not results # Search by home_city only results = full_text_search.search('haiti', 'Arao', 5) assert not results # Search by home_state only results = full_text_search.search('haiti', 'Kumamoto', 5) assert not results # Search by home_postal_code only results = full_text_search.search('haiti', '864-0003', 5) assert not results # Search by home_neighborhood only results = full_text_search.search('haiti', 'Araokeibajou', 5) assert not results # Search by home_country only results = full_text_search.search('haiti', 'Japan', 5) assert not results # Search in a different repository results = full_text_search.search('japan', 'Iori', 5) assert not results # Check no results results = full_text_search.search('haiti', 'Producer san', 5) assert not results # Search with no query text results = full_text_search.search('haiti', '', 5) assert not results # Search deleted record delete.delete_person(self, self.p5) results = full_text_search.search('haiti', 'Ami', 5) assert not results # Check rank order (name match heigher than location match) results = full_text_search.search('haiti', 'Rin Shibuya', 5) assert [r.record_id for r in results] == \ ['haiti:0810', 'haiti:0203'] # Search romaji record by kanji name results = full_text_search.search('haiti', u'千早', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search romaji record by kanji name and location results = full_text_search.search('haiti', u'千早 荒尾', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Check rank order # (same kanji higher than different kanji with the same reading) results = full_text_search.search('haiti', u'菊地 真', 5) assert [r.record_id for r in results] == \ ['haiti/0829', 'haiti/1829'] results = full_text_search.search('haiti', u'菊地 眞', 5) assert [r.record_id for r in results] == \ ['haiti/1829', 'haiti/0829'] # Search kanji record by multi reading results = full_text_search.search('haiti', u'hagiwara', 5) assert set([r.record_id for r in results]) == \ set(['haiti/1224']) results = full_text_search.search('haiti', u'ogiwara', 5) assert set([r.record_id for r in results]) == \ set(['haiti/1224']) # Search romaji record by hiragana name and location results = full_text_search.search('haiti', u'ちはや あらお', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search by full name without space results = full_text_search.search('haiti', 'HibikiGanaha', 5) assert set([r.record_id for r in results]) == \ set(['haiti/1010']) # Search kanji record by full name without space results = full_text_search.search('haiti', u'AzusaMiura', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0719']) # Search Cyrillic record by full name without space results = full_text_search.search('haiti', u'RitsukoAkiduki', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0623']) # Search full name without space record by given name and family name results = full_text_search.search('haiti', u'Kotori Otonashi', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0909']) # Search Cyrillic record by full name without space results = full_text_search.search('haiti', u'OtonashiKotori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0909']) # Search Chinese record by kanji results = full_text_search.search('haiti', u'真美', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0523'])
def test_search_by_name_only(self): db.put(self.p1) db.put(self.p2) db.put(self.p3) db.put(self.p4) db.put(self.p5) db.put(self.p6) db.put(self.p7) db.put(self.p8) db.put(self.p9) db.put(self.p10) db.put(self.p11) db.put(self.p12) db.put(self.p13) db.put(self.p14) db.put(self.p15) db.put(self.p16) db.put(self.p17) db.put(self.p18) full_text_search.add_record_to_index(self.p1) full_text_search.add_record_to_index(self.p2) full_text_search.add_record_to_index(self.p3) full_text_search.add_record_to_index(self.p4) full_text_search.add_record_to_index(self.p5) full_text_search.add_record_to_index(self.p6) full_text_search.add_record_to_index(self.p7) full_text_search.add_record_to_index(self.p8) full_text_search.add_record_to_index(self.p9) full_text_search.add_record_to_index(self.p10) full_text_search.add_record_to_index(self.p11) full_text_search.add_record_to_index(self.p12) full_text_search.add_record_to_index(self.p13) full_text_search.add_record_to_index(self.p14) full_text_search.add_record_to_index(self.p15) full_text_search.add_record_to_index(self.p16) full_text_search.add_record_to_index(self.p17) full_text_search.add_record_to_index(self.p18) # Search by alternate name results = full_text_search.search('haiti', {'name': 'Iorin'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by family name results = full_text_search.search('haiti', {'name': 'Minase'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name results = full_text_search.search('haiti', {'name': 'Iori'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name + family name results = full_text_search.search('haiti', {'name': 'Minase Iori'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by full name resutls = full_text_search.search('haiti', {'name': 'Iori Minase'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by a name contains location results = full_text_search.search('haiti', {'name': 'Chihaya Arao'}, 5) assert not results # Search by name & location results = full_text_search.search('haiti', {'name':'Chihaya', 'location': 'Arao'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search Cyrillic record by name & location results = full_text_search.search('haiti', {'name': 'Ritsuko', 'location': 'Tottori'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0623']) # Search by home_street only ( input inside the name box) results = full_text_search.search('haiti', {'name': 'Kunaideme72'}, 5) assert not results # Search by home_city only ( input inside the location box) results = full_text_search.search('haiti', {'location': 'Arao'}, 5) assert not results # Search by home_state only ( input inside the location box) results = full_text_search.search('haiti', {'location': 'Kumamoto'}, 5) assert not results # Search by home_postal_code only ( input inside the name box) results = full_text_search.search('haiti', {'name': '864-0003'}, 5) assert not results # Search by home_neighborhood only ( input inside the location box) results = full_text_search.search( 'haiti', {'location': 'Araokeibajou'}, 5) assert not results # Search by home_country only ( input inside the name box) results = full_text_search.search('haiti', {'name': 'Japan'}, 5) assert not results # Search in a different repository results = full_text_search.search('japan', {'name': 'Iori'}, 5) assert not results # Check no results results = full_text_search.search('haiti', {'name': 'Producer san'}, 5) assert not results # Search with no query text results = full_text_search.search( 'haiti', {'name': '', 'location': ''}, 5) assert not results # Search deleted record delete.delete_person(self, self.p5) results = full_text_search.search('haiti', {'name': 'Ami'}, 5) assert not results # Search with empty dict results = full_text_search.search('haiti', {}, 5) # Search by full name results = full_text_search.search('haiti', {'name': 'Rin Shibuya'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti:0810']) # Search romaji record by kanji name results = full_text_search.search('haiti', {'name': u'千早'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search romaji record by kanji name and location results = full_text_search.search('haiti', {'name': u'千早', 'location': u'荒尾'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Check rank order # (same kanji higher than different kanji with the same reading) results = full_text_search.search('haiti', {'name': u'菊地 真'}, 5) assert [r.record_id for r in results] == \ ['haiti/0829', 'haiti/1829'] results = full_text_search.search('haiti', {'name': u'菊地 眞'}, 5) assert [r.record_id for r in results] == \ ['haiti/1829', 'haiti/0829'] # Search kanji record by multi reading results = full_text_search.search('haiti', {'name': u'hagiwara'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/1224']) results = full_text_search.search('haiti', {'name': 'ogiwara'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/1224']) # Search romaji record by hiragana name and location results = full_text_search.search('haiti', {'name': u'ちはや', 'location': u'あらお'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search by full name without space results = full_text_search.search('haiti', {'name': 'HibikiGanaha'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/1010']) # Search kanji record by full name without space results = full_text_search.search('haiti', {'name': u'AzusaMiura'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0719']) # Search Cyrillic record by full name without space results = full_text_search.search('haiti', {'name': u'RitsukoAkiduki'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0623']) # Search full name without space record by given name and family name results = full_text_search.search('haiti', {'name': u'Kotori Otonashi'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0909']) # Search Cyrillic record by full name without space results = full_text_search.search('haiti', {'name': u'OtonashiKotori'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0909']) # Search Chinese record by kanji results = full_text_search.search('haiti', {'name': u'真美'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0523']) # Search Name with Location part contain a part of person's name results = full_text_search.search('haiti', {'name': 'Rin Shibuya', 'location': 'Shinjuku Rin'}, 5) assert not results # Input the name and location in the wrong box results = full_text_search.search('haiti', {'name': 'Shinjuku', 'location': 'Rin Shibuya'}, 5) assert not results # Search by Special Chinese Family Name # while records are written in English results = full_text_search.search('haiti', {'name': u'单鱼'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0911']) # Search by Pinyin(Chinese Romaji) # while records are written in Chinese results = full_text_search.search('haiti', {'name': u'Zeng Cheng'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0910']) # Search by Chinese # while records are written in Chinese results = full_text_search.search('haiti', {'name': u'曾诚'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0910'])
def test_search_by_name_only(self): db.put(self.p1) db.put(self.p2) db.put(self.p3) db.put(self.p4) db.put(self.p5) db.put(self.p6) db.put(self.p7) db.put(self.p8) db.put(self.p9) db.put(self.p10) db.put(self.p11) db.put(self.p12) db.put(self.p13) db.put(self.p14) db.put(self.p15) full_text_search.add_record_to_index(self.p1) full_text_search.add_record_to_index(self.p2) full_text_search.add_record_to_index(self.p3) full_text_search.add_record_to_index(self.p4) full_text_search.add_record_to_index(self.p5) full_text_search.add_record_to_index(self.p6) full_text_search.add_record_to_index(self.p7) full_text_search.add_record_to_index(self.p8) full_text_search.add_record_to_index(self.p9) full_text_search.add_record_to_index(self.p10) full_text_search.add_record_to_index(self.p11) full_text_search.add_record_to_index(self.p12) full_text_search.add_record_to_index(self.p13) full_text_search.add_record_to_index(self.p14) full_text_search.add_record_to_index(self.p15) # Search by alternate name results = full_text_search.search('haiti', 'Iorin', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by family name results = full_text_search.search('haiti', 'Minase', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name results = full_text_search.search('haiti', 'Iori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name + family name results = full_text_search.search('haiti', 'Minase Iori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by full name resutls = full_text_search.search('haiti', 'Iori Minase', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by name & location results = full_text_search.search('haiti', 'Chihaya Arao', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search Cyrillic record by name & location results = full_text_search.search('haiti', 'Ritsuko Tottori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0623']) # Search by home_street only results = full_text_search.search('haiti', 'Kunaideme72', 5) assert not results # Search by home_city only results = full_text_search.search('haiti', 'Arao', 5) assert not results # Search by home_state only results = full_text_search.search('haiti', 'Kumamoto', 5) assert not results # Search by home_postal_code only results = full_text_search.search('haiti', '864-0003', 5) assert not results # Search by home_neighborhood only results = full_text_search.search('haiti', 'Araokeibajou', 5) assert not results # Search by home_country only results = full_text_search.search('haiti', 'Japan', 5) assert not results # Search in a different repository results = full_text_search.search('japan', 'Iori', 5) assert not results # Check no results results = full_text_search.search('haiti', 'Producer san', 5) assert not results # Search with no query text results = full_text_search.search('haiti', '', 5) assert not results # Search deleted record delete.delete_person(self, self.p5) results = full_text_search.search('haiti', 'Ami', 5) assert not results # Check rank order (name match heigher than location match) results = full_text_search.search('haiti', 'Rin Shibuya', 5) assert [r.record_id for r in results] == \ ['haiti:0810', 'haiti:0203'] # Search romaji record by kanji name results = full_text_search.search('haiti', u'千早', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search romaji record by kanji name and location results = full_text_search.search('haiti', u'千早 荒尾', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Check rank order # (same kanji higher than different kanji with the same reading) results = full_text_search.search('haiti', u'菊地 真', 5) assert [r.record_id for r in results] == \ ['haiti/0829', 'haiti/1829'] results = full_text_search.search('haiti', u'菊地 眞', 5) assert [r.record_id for r in results] == \ ['haiti/1829', 'haiti/0829'] # Search kanji record by multi reading results = full_text_search.search('haiti', u'hagiwara', 5) assert set([r.record_id for r in results]) == \ set(['haiti/1224']) results = full_text_search.search('haiti', u'ogiwara', 5) assert set([r.record_id for r in results]) == \ set(['haiti/1224']) # Search romaji record by hiragana name and location results = full_text_search.search('haiti', u'ちはや あらお', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search by full name without space results = full_text_search.search('haiti', 'HibikiGanaha', 5) assert set([r.record_id for r in results]) == \ set(['haiti/1010']) # Search kanji record by full name without space results = full_text_search.search('haiti', u'AzusaMiura', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0719']) # Search Cyrillic record by full name without space results = full_text_search.search('haiti', u'RitsukoAkiduki', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0623']) # Search Chinese record by kanji results = full_text_search.search('haiti', u'真美', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0523'])
def test_search_by_name_only(self): db.put(self.p1) db.put(self.p2) db.put(self.p3) db.put(self.p4) db.put(self.p5) full_text_search.add_record_to_index(self.p1) full_text_search.add_record_to_index(self.p2) full_text_search.add_record_to_index(self.p3) full_text_search.add_record_to_index(self.p4) full_text_search.add_record_to_index(self.p5) # Search by alternate name - p1 results = full_text_search.search('haiti', {'name': 'Iorin'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by family name -p1 results = full_text_search.search('haiti', {'name': 'Minase'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name - p1 results = full_text_search.search('haiti', {'name': 'Iori'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name + family name - p1 results = full_text_search.search('haiti', {'name': 'Minase Iori'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by full name - p1 resutls = full_text_search.search('haiti', {'name': 'Iori Minase'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by a name contains location - p4 results = full_text_search.search('haiti', {'name': 'Chihaya Arao'}, 5) assert not results # Search by name & location - p4 results = full_text_search.search('haiti', { 'name': 'Chihaya', 'location': 'Arao' }, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search by home_street only ( input inside the name box) - p4 results = full_text_search.search('haiti', {'name': 'Kunaideme72'}, 5) assert not results # Search by home_city only ( input inside the location box) - p4 results = full_text_search.search('haiti', {'location': 'Arao'}, 5) assert not results # Search by home_state only ( input inside the location box) - p4 results = full_text_search.search('haiti', {'location': 'Kumamoto'}, 5) assert not results # Search by home_postal_code only ( input inside the name box) - p4 results = full_text_search.search('haiti', {'name': '864-0003'}, 5) assert not results # Search by home_neighborhood only ( input inside the location box) - p4 results = full_text_search.search('haiti', {'location': 'Araokeibajou'}, 5) assert not results # Search by home_country only ( input inside the name box) - p4 results = full_text_search.search('haiti', {'name': 'Japan'}, 5) assert not results # Check no results results = full_text_search.search('haiti', {'name': 'Producer san'}, 5) assert not results # Search with no query text results = full_text_search.search('haiti', { 'name': '', 'location': '' }, 5) assert not results # Search deleted record - p3 delete.delete_person(self, self.p3) results = full_text_search.search('haiti', {'name': 'Ami'}, 5) assert not results # Search with empty dict results = full_text_search.search('haiti', {}, 5) # Search by full name - p5 results = full_text_search.search('haiti', {'name': 'Rin Shibuya'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti:0810']) # Search Name with Location part contain a part of person's name - p5 results = full_text_search.search('haiti', { 'name': 'Rin Shibuya', 'location': 'Shinjuku Rin' }, 5) assert not results # Input the name and location in the wrong box - p5 results = full_text_search.search('haiti', { 'name': 'Shinjuku', 'location': 'Rin Shibuya' }, 5) assert not results
def test_search_by_name_only(self): db.put(self.p1) db.put(self.p2) db.put(self.p3) db.put(self.p4) db.put(self.p5) db.put(self.p6) full_text_search.add_record_to_index(self.p1) full_text_search.add_record_to_index(self.p2) full_text_search.add_record_to_index(self.p3) full_text_search.add_record_to_index(self.p4) full_text_search.add_record_to_index(self.p5) full_text_search.add_record_to_index(self.p6) # Search by alternate name results = full_text_search.search("haiti", "Iorin", 5) assert set([r.record_id for r in results]) == set(["haiti/0505"]) # Search by family name results = full_text_search.search("haiti", "Minase", 5) assert set([r.record_id for r in results]) == set(["haiti/0505"]) # Search by given name results = full_text_search.search("haiti", "Iori", 5) assert set([r.record_id for r in results]) == set(["haiti/0505"]) # Search by given name + family name results = full_text_search.search("haiti", "Minase Iori", 5) assert set([r.record_id for r in results]) == set(["haiti/0505"]) # Search by full name resutls = full_text_search.search("haiti", "Iori Minase", 5) assert set([r.record_id for r in results]) == set(["haiti/0505"]) # Search by name & location results = full_text_search.search("haiti", "Chihaya Arao", 5) assert set([r.record_id for r in results]) == set(["haiti/0225"]) # Search by home_street only results = full_text_search.search("haiti", "Kunaideme72", 5) assert not results # Search by home_city only results = full_text_search.search("haiti", "Arao", 5) assert not results # Search by home_state only results = full_text_search.search("haiti", "Kumamoto", 5) assert not results # Search by home_postal_code only results = full_text_search.search("haiti", "864-0003", 5) assert not results # Search by home_neighborhood only results = full_text_search.search("haiti", "Araokeibajou", 5) assert not results # Search by home_country only results = full_text_search.search("haiti", "Japan", 5) assert not results # Search in a different repository results = full_text_search.search("japan", "Iori", 5) assert not results # Check no results results = full_text_search.search("haiti", "Producer san", 5) assert not results # Search with no query text results = full_text_search.search("haiti", "", 5) assert not results # Search deleted record delete.delete_person(self, self.p5) results = full_text_search.search("haiti", "Makoto", 5) assert not results # Search romaji record by kanji name results = full_text_search.search("haiti", u"千早", 5) assert set([r.record_id for r in results]) == set(["haiti/0225"]) # Search romaji record by kanji name and location results = full_text_search.search("haiti", u"千早 荒尾", 5) assert set([r.record_id for r in results]) == set(["haiti/0225"])
def test_search_by_name_only(self): db.put(self.p1) db.put(self.p2) db.put(self.p3) db.put(self.p4) db.put(self.p5) db.put(self.p6) db.put(self.p7) db.put(self.p8) db.put(self.p9) db.put(self.p10) db.put(self.p11) db.put(self.p12) db.put(self.p13) db.put(self.p14) db.put(self.p15) db.put(self.p16) db.put(self.p17) db.put(self.p18) full_text_search.add_record_to_index(self.p1) full_text_search.add_record_to_index(self.p2) full_text_search.add_record_to_index(self.p3) full_text_search.add_record_to_index(self.p4) full_text_search.add_record_to_index(self.p5) full_text_search.add_record_to_index(self.p6) full_text_search.add_record_to_index(self.p7) full_text_search.add_record_to_index(self.p8) full_text_search.add_record_to_index(self.p9) full_text_search.add_record_to_index(self.p10) full_text_search.add_record_to_index(self.p11) full_text_search.add_record_to_index(self.p12) full_text_search.add_record_to_index(self.p13) full_text_search.add_record_to_index(self.p14) full_text_search.add_record_to_index(self.p15) full_text_search.add_record_to_index(self.p16) full_text_search.add_record_to_index(self.p17) full_text_search.add_record_to_index(self.p18) # Search by alternate name results = full_text_search.search('haiti', {'name': 'Iorin'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by family name results = full_text_search.search('haiti', {'name': 'Minase'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name results = full_text_search.search('haiti', {'name': 'Iori'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name + family name results = full_text_search.search('haiti', {'name': 'Minase Iori'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by full name resutls = full_text_search.search('haiti', {'name': 'Iori Minase'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by a name contains location results = full_text_search.search('haiti', {'name': 'Chihaya Arao'}, 5) assert not results # Search by name & location results = full_text_search.search('haiti', { 'name': 'Chihaya', 'location': 'Arao' }, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search Cyrillic record by name & location results = full_text_search.search('haiti', { 'name': 'Ritsuko', 'location': 'Tottori' }, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0623']) # Search by home_street only ( input inside the name box) results = full_text_search.search('haiti', {'name': 'Kunaideme72'}, 5) assert not results # Search by home_city only ( input inside the location box) results = full_text_search.search('haiti', {'location': 'Arao'}, 5) assert not results # Search by home_state only ( input inside the location box) results = full_text_search.search('haiti', {'location': 'Kumamoto'}, 5) assert not results # Search by home_postal_code only ( input inside the name box) results = full_text_search.search('haiti', {'name': '864-0003'}, 5) assert not results # Search by home_neighborhood only ( input inside the location box) results = full_text_search.search('haiti', {'location': 'Araokeibajou'}, 5) assert not results # Search by home_country only ( input inside the name box) results = full_text_search.search('haiti', {'name': 'Japan'}, 5) assert not results # Search in a different repository results = full_text_search.search('japan', {'name': 'Iori'}, 5) assert not results # Check no results results = full_text_search.search('haiti', {'name': 'Producer san'}, 5) assert not results # Search with no query text results = full_text_search.search('haiti', { 'name': '', 'location': '' }, 5) assert not results # Search deleted record delete.delete_person(self, self.p5) results = full_text_search.search('haiti', {'name': 'Ami'}, 5) assert not results # Search with empty dict results = full_text_search.search('haiti', {}, 5) # Search by full name results = full_text_search.search('haiti', {'name': 'Rin Shibuya'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti:0810']) # Search romaji record by kanji name results = full_text_search.search('haiti', {'name': u'千早'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search romaji record by kanji name and location results = full_text_search.search('haiti', { 'name': u'千早', 'location': u'荒尾' }, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Check rank order # (same kanji higher than different kanji with the same reading) results = full_text_search.search('haiti', {'name': u'菊地 真'}, 5) assert [r.record_id for r in results] == \ ['haiti/0829', 'haiti/1829'] results = full_text_search.search('haiti', {'name': u'菊地 眞'}, 5) assert [r.record_id for r in results] == \ ['haiti/1829', 'haiti/0829'] # Search kanji record by multi reading results = full_text_search.search('haiti', {'name': u'hagiwara'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/1224']) results = full_text_search.search('haiti', {'name': 'ogiwara'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/1224']) # Search romaji record by hiragana name and location results = full_text_search.search('haiti', { 'name': u'ちはや', 'location': u'あらお' }, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search by full name without space results = full_text_search.search('haiti', {'name': 'HibikiGanaha'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/1010']) # Search kanji record by full name without space results = full_text_search.search('haiti', {'name': u'AzusaMiura'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0719']) # Search Cyrillic record by full name without space results = full_text_search.search('haiti', {'name': u'RitsukoAkiduki'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0623']) # Search full name without space record by given name and family name results = full_text_search.search('haiti', {'name': u'Kotori Otonashi'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0909']) # Search Cyrillic record by full name without space results = full_text_search.search('haiti', {'name': u'OtonashiKotori'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0909']) # Search Chinese record by kanji results = full_text_search.search('haiti', {'name': u'真美'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0523']) # Search Name with Location part contain a part of person's name results = full_text_search.search('haiti', { 'name': 'Rin Shibuya', 'location': 'Shinjuku Rin' }, 5) assert not results # Input the name and location in the wrong box results = full_text_search.search('haiti', { 'name': 'Shinjuku', 'location': 'Rin Shibuya' }, 5) assert not results # Search by Special Chinese Family Name # while records are written in English results = full_text_search.search('haiti', {'name': u'单鱼'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0911']) # Search by Pinyin(Chinese Romaji) # while records are written in Chinese results = full_text_search.search('haiti', {'name': u'Zeng Cheng'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0910']) # Search by Chinese # while records are written in Chinese results = full_text_search.search('haiti', {'name': u'曾诚'}, 5) assert set([r.record_id for r in results]) == \ set(['haiti/0910'])
def test_search_by_name_only(self): db.put(self.p1) db.put(self.p2) db.put(self.p3) db.put(self.p4) db.put(self.p5) db.put(self.p6) full_text_search.add_record_to_index(self.p1) full_text_search.add_record_to_index(self.p2) full_text_search.add_record_to_index(self.p3) full_text_search.add_record_to_index(self.p4) full_text_search.add_record_to_index(self.p5) full_text_search.add_record_to_index(self.p6) # Search by alternate name results = full_text_search.search('haiti', 'Iorin', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by family name results = full_text_search.search('haiti', 'Minase', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name results = full_text_search.search('haiti', 'Iori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by given name + family name results = full_text_search.search('haiti', 'Minase Iori', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by full name resutls = full_text_search.search('haiti', 'Iori Minase', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0505']) # Search by name & location results = full_text_search.search('haiti', 'Chihaya Arao', 5) assert set([r.record_id for r in results]) == \ set(['haiti/0225']) # Search by home_street only results = full_text_search.search('haiti', 'Kunaideme72', 5) assert not results # Search by home_city only results = full_text_search.search('haiti', 'Arao', 5) assert not results # Search by home_state only results = full_text_search.search('haiti', 'Kumamoto', 5) assert not results # Search by home_postal_code only results = full_text_search.search('haiti', '864-0003', 5) assert not results # Search by home_neighborhood only results = full_text_search.search('haiti', 'Araokeibajou', 5) assert not results # Search by home_country only results = full_text_search.search('haiti', 'Japan', 5) assert not results # Search in a different repository results = full_text_search.search('japan', 'Iori', 5) assert not results # Check no results results = full_text_search.search('haiti', 'Producer san', 5) assert not results # Search with no query text results = full_text_search.search('haiti', '', 5) assert not results # Search deleted record delete.delete_person(self, self.p5) results = full_text_search.search('haiti', 'Makoto', 5) assert not results