def reset_search_index(session): """Recreate index and fill index. """ initializees.drop_index() initializees.setup_es() fill_index(session) force_search_index()
def setUp(self): BaseTestRest.setUp(self) waypoint = Waypoint( waypoint_type='summit', elevation=2000, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)') ) outing = Outing( activities=['skitouring'], date_start=date(2016, 1, 1), date_end=date(2016, 1, 1), geometry=DocumentGeometry(geom='SRID=3857;POINT(0 0)') ) article = Article( categories=['site_info'], activities=['hiking'], article_type='collab' ) for lang in default_langs: locale = OutingLocale(lang=lang, title=f'Title in {lang}') outing.locales.append(locale) locale = DocumentLocale(lang=lang, title=f'Title in {lang}') article.locales.append(locale) locale = WaypointLocale(lang=lang, title=f'Title in {lang}') waypoint.locales.append(locale) self.session.add(article) self.session.add(outing) self.session.add(waypoint) self.session.flush() fill_index(self.session) # make sure the search index is built force_search_index() contributor_id = self.global_userids['contributor'] for lang in default_langs: self.session.add(DocumentChange( time=datetime(2016, 1, 1, 12, 0, 0), user_id=contributor_id, change_type='created', document_id=waypoint.document_id, document_type=WAYPOINT_TYPE, user_ids=[contributor_id], langs=[lang] )) self.session.flush()
def setUp(self): # noqa super(TestSearchRest, self).setUp() self._prefix = '/search' self.waypoint1 = Waypoint( document_id=534681, waypoint_type='summit', elevation=2000, geometry=DocumentGeometry(geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='fr', title='Dent de Crolles', description='...', summary='La Dent de Crolles'), WaypointLocale(lang='en', title='Dent de Crolles', description='...', summary='The Dent de Crolles') ]) self.session.add(self.waypoint1) self.session.add( Waypoint(document_id=534682, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.add( Route(document_id=534683, activities=['skitouring'], elevation_max=1500, elevation_min=700, locales=[ RouteLocale(lang='fr', title='Mont Blanc du ciel', description='...', summary='Ski') ])) self.session.flush() fill_index(self.session) # make sure the search index is built force_search_index()
def setup_package(): # set up database engine = get_engine() DBSession.configure(bind=engine) Base.metadata.drop_all(engine) initializedb.setup_db(engine, DBSession) # set up ElasticSearch configure_es_from_config(settings) initializees.drop_index() initializees.setup_es() # Add test data needed for all tests with transaction.manager: _add_global_test_data(DBSession) fill_index(DBSession) DBSession.remove()
def test_fill_index(self): """Tests that documents are inserted into the ElasticSearch index. """ self.session.add(Waypoint( document_id=71171, waypoint_type='summit', elevation=2000, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( culture='fr', title='Mont Granier', description='...', summary='Le Mont [b]Granier[/b]'), WaypointLocale( culture='en', title='Mont Granier', description='...', summary='The Mont Granier') ])) self.session.add(Waypoint( document_id=71172, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( culture='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.flush() # fill the ElasticSearch index fill_index(self.session) waypoint1 = SearchDocument.get(id=71171) self.assertIsNotNone(waypoint1) self.assertEqual(waypoint1.title_en, 'Mont Granier') self.assertEqual(waypoint1.title_fr, 'Mont Granier') self.assertEqual(waypoint1.summary_fr, 'Le Mont Granier ') self.assertEqual(waypoint1.doc_type, 'w') waypoint2 = SearchDocument.get(id=71172) self.assertIsNotNone(waypoint2) self.assertEqual(waypoint2.title_en, 'Mont Blanc') self.assertEqual(waypoint2.title_fr, '') self.assertEqual(waypoint2.doc_type, 'w')
def setUp(self): # noqa super(TestSearchRest, self).setUp() self._prefix = '/search' self.waypoint1 = Waypoint( document_id=534681, waypoint_type='summit', elevation=2000, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( lang='fr', title='Dent de Crolles', description='...', summary='La Dent de Crolles'), WaypointLocale( lang='en', title='Dent de Crolles', description='...', summary='The Dent de Crolles') ]) self.session.add(self.waypoint1) self.session.add(Waypoint( document_id=534682, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.add(Route( document_id=534683, activities=['skitouring'], elevation_max=1500, elevation_min=700, locales=[ RouteLocale( lang='fr', title='Mont Blanc du ciel', description='...', summary='Ski') ])) self.session.flush() fill_index(self.session) # make sure the search index is built force_search_index()
def test_fill_index(self): """Tests that documents are inserted into the ElasticSearch index. """ self.session.add(Waypoint( document_id=71171, waypoint_type='summit', elevation=2000, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( lang='fr', title='Mont Granier', description='...', summary='Le Mont [b]Granier[/b]'), WaypointLocale( lang='en', title='Mont Granier', description='...', summary='The Mont Granier') ])) self.session.add(Waypoint( document_id=71172, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.add(Route( document_id=71173, activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1', locales=[ RouteLocale( lang='en', title='Face N', description='...', gear='paraglider', title_prefix='Mont Blanc' ) ] )) self.session.add(Waypoint( document_id=71174, redirects_to=71171, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.flush() # fill the ElasticSearch index fill_index(self.session) waypoint1 = SearchWaypoint.get(id=71171) self.assertIsNotNone(waypoint1) self.assertEqual(waypoint1.title_en, 'Mont Granier') self.assertEqual(waypoint1.title_fr, 'Mont Granier') self.assertEqual(waypoint1.summary_fr, 'Le Mont Granier ') self.assertEqual(waypoint1.doc_type, 'w') self.assertAlmostEqual(waypoint1.geom[0], 5.71288994) self.assertAlmostEqual(waypoint1.geom[1], 45.64476395) waypoint2 = SearchWaypoint.get(id=71172) self.assertIsNotNone(waypoint2) self.assertEqual(waypoint2.title_en, 'Mont Blanc') self.assertEqual(waypoint2.title_fr, '') self.assertEqual(waypoint2.doc_type, 'w') route = SearchRoute.get(id=71173) self.assertIsNotNone(route) self.assertEqual(route.title_en, 'Mont Blanc : Face N') self.assertEqual(route.title_fr, '') self.assertEqual(route.doc_type, 'r') # merged document is ignored self.assertIsNone(SearchWaypoint.get(id=71174, ignore=404)) # check that the sync. status was updated last_update, _ = es_sync.get_status(self.session) self.assertIsNotNone(last_update)
def test_fill_index(self): """Tests that documents are inserted into the ElasticSearch index. """ self.session.add( Waypoint(document_id=71171, waypoint_type='summit', elevation=2000, quality='medium', access_time='15min', geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='fr', title='Mont Granier', description='...', summary='Le Mont [b]Granier[/b]'), WaypointLocale(lang='en', title='Mont Granier', description='...', summary='The Mont Granier') ])) self.session.add( Waypoint(document_id=71172, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.add( Route(document_id=71173, activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations=['1'], locales=[ RouteLocale(lang='en', title='Face N', description='...', gear='paraglider', title_prefix='Mont Blanc') ])) self.session.add( Waypoint(document_id=71174, redirects_to=71171, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.add( Outing(document_id=71175, activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), frequentation='overcrowded', locales=[ OutingLocale(lang='en', title='Mont Blanc : Face N !', description='...', weather='sunny') ])) self.session.add( Article(document_id=71176, categories=['site_info'], activities=['hiking'], article_type='collab', geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ DocumentLocale(lang='en', title='Lac d\'Annecy', description='...', summary=''), DocumentLocale(lang='fr', title='Lac d\'Annecy', description='...', summary='') ])) self.session.flush() self.session.add( Book(document_id=71177, activities=['hiking'], book_types=['biography'], author='Denis Dainat', publication_date='', locales=[ DocumentLocale(lang='fr', title='Escalades au Thaurac', description='...', summary=''), DocumentLocale(lang='en', title='Escalades au Thaurac', description='...', summary='') ])) self.session.flush() self.session.add( Xreport(document_id=71178, event_type='person_fall', event_activity='skitouring', nb_participants=10, elevation=1500, date=datetime.date(2016, 1, 1), locales=[ XreportLocale(lang='en', title='Death in the mountains', description='...', place='some place description') ])) self.session.flush() # fill the ElasticSearch index fill_index(self.session) waypoint1 = SearchWaypoint.get(id=71171) self.assertIsNotNone(waypoint1) self.assertEqual(waypoint1.title_en, 'Mont Granier') self.assertEqual(waypoint1.title_fr, 'Mont Granier') # self.assertEqual(waypoint1.summary_fr, 'Le Mont Granier ') self.assertEqual(waypoint1.doc_type, 'w') self.assertEqual(waypoint1.quality, 2) self.assertEqual(waypoint1.access_time, 3) self.assertAlmostEqual(waypoint1.geom[0], 5.71288994) self.assertAlmostEqual(waypoint1.geom[1], 45.64476395) waypoint2 = SearchWaypoint.get(id=71172) self.assertIsNotNone(waypoint2) self.assertEqual(waypoint2.title_en, 'Mont Blanc') self.assertIsNone(waypoint2.title_fr) self.assertEqual(waypoint2.doc_type, 'w') route = SearchRoute.get(id=71173) self.assertIsNotNone(route) self.assertEqual(route.title_en, 'Mont Blanc : Face N') self.assertIsNone(route.title_fr) self.assertEqual(route.doc_type, 'r') self.assertEqual(route.durations, [0]) outing = SearchOuting.get(id=71175) self.assertIsNotNone(outing) self.assertEqual(outing.title_en, 'Mont Blanc : Face N !') self.assertIsNone(outing.title_fr) self.assertEqual(outing.doc_type, 'o') self.assertEqual(outing.frequentation, 3) article = SearchArticle.get(id=71176) self.assertIsNotNone(article) self.assertEqual(article.title_en, 'Lac d\'Annecy') self.assertEqual(article.title_fr, 'Lac d\'Annecy') self.assertEqual(article.doc_type, 'c') book = SearchBook.get(id=71177) self.assertIsNotNone(book) self.assertEqual(book.title_en, 'Escalades au Thaurac') self.assertEqual(book.title_fr, 'Escalades au Thaurac') self.assertEqual(book.doc_type, 'b') self.assertEqual(book.book_types, ['biography']) xreport = SearchXreport.get(id=71178) self.assertIsNotNone(xreport) self.assertEqual(xreport.title_en, 'Death in the mountains') self.assertEqual(xreport.doc_type, 'x') # merged document is ignored self.assertIsNone(SearchWaypoint.get(id=71174, ignore=404)) # check that the sync. status was updated last_update, _ = es_sync.get_status(self.session) self.assertIsNotNone(last_update)
def test_fill_index(self): """Tests that documents are inserted into the ElasticSearch index. """ self.session.add( Waypoint(document_id=71171, waypoint_type='summit', elevation=2000, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='fr', title='Mont Granier', description='...', summary='Le Mont [b]Granier[/b]'), WaypointLocale(lang='en', title='Mont Granier', description='...', summary='The Mont Granier') ])) self.session.add( Waypoint(document_id=71172, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.add( Route(document_id=71173, activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations='1', locales=[ RouteLocale(lang='en', title='Face N', description='...', gear='paraglider', title_prefix='Mont Blanc') ])) self.session.add( Waypoint(document_id=71174, redirects_to=71171, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale(lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.flush() # fill the ElasticSearch index fill_index(self.session) waypoint1 = SearchWaypoint.get(id=71171) self.assertIsNotNone(waypoint1) self.assertEqual(waypoint1.title_en, 'Mont Granier') self.assertEqual(waypoint1.title_fr, 'Mont Granier') self.assertEqual(waypoint1.summary_fr, 'Le Mont Granier ') self.assertEqual(waypoint1.doc_type, 'w') self.assertAlmostEqual(waypoint1.geom[0], 5.71288994) self.assertAlmostEqual(waypoint1.geom[1], 45.64476395) waypoint2 = SearchWaypoint.get(id=71172) self.assertIsNotNone(waypoint2) self.assertEqual(waypoint2.title_en, 'Mont Blanc') self.assertEqual(waypoint2.title_fr, '') self.assertEqual(waypoint2.doc_type, 'w') route = SearchRoute.get(id=71173) self.assertIsNotNone(route) self.assertEqual(route.title_en, 'Mont Blanc : Face N') self.assertEqual(route.title_fr, '') self.assertEqual(route.doc_type, 'r') # merged document is ignored self.assertIsNone(SearchWaypoint.get(id=71174, ignore=404)) # check that the sync. status was updated last_update, _ = es_sync.get_status(self.session) self.assertIsNotNone(last_update)
def test_fill_index(self): """Tests that documents are inserted into the ElasticSearch index. """ self.session.add(Waypoint( document_id=71171, waypoint_type='summit', elevation=2000, quality='medium', access_time='15min', geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( lang='fr', title='Mont Granier', description='...', summary='Le Mont [b]Granier[/b]'), WaypointLocale( lang='en', title='Mont Granier', description='...', summary='The Mont Granier') ])) self.session.add(Waypoint( document_id=71172, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.add(Route( document_id=71173, activities=['skitouring'], elevation_max=1500, elevation_min=700, height_diff_up=800, height_diff_down=800, durations=['1'], locales=[ RouteLocale( lang='en', title='Face N', description='...', gear='paraglider', title_prefix='Mont Blanc' ) ] )) self.session.add(Waypoint( document_id=71174, redirects_to=71171, waypoint_type='summit', elevation=4985, geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ WaypointLocale( lang='en', title='Mont Blanc', description='...', summary='The heighest point in Europe') ])) self.session.add(Outing( document_id=71175, activities=['skitouring'], date_start=datetime.date(2016, 1, 1), date_end=datetime.date(2016, 1, 1), frequentation='overcrowded', locales=[ OutingLocale( lang='en', title='Mont Blanc : Face N !', description='...', weather='sunny') ] )) self.session.add(Article( document_id=71176, categories=['site_info'], activities=['hiking'], article_type='collab', geometry=DocumentGeometry( geom='SRID=3857;POINT(635956 5723604)'), locales=[ DocumentLocale( lang='en', title='Lac d\'Annecy', description='...', summary=''), DocumentLocale( lang='fr', title='Lac d\'Annecy', description='...', summary='') ])) self.session.flush() self.session.add(Book( document_id=71177, activities=['hiking'], book_types=['biography'], author='Denis Dainat', publication_date='', locales=[ DocumentLocale( lang='fr', title='Escalades au Thaurac', description='...', summary=''), DocumentLocale( lang='en', title='Escalades au Thaurac', description='...', summary='' ) ] )) self.session.flush() self.session.add(Xreport( document_id=71178, event_type=['roped_fall'], activities=['skitouring'], nb_participants=10, elevation=1500, date=datetime.date(2016, 1, 1), locales=[ XreportLocale( lang='en', title='Death in the mountains', description='...', place='some place description' ) ] )) self.session.flush() # fill the ElasticSearch index fill_index(self.session) waypoint1 = SearchWaypoint.get(id=71171) self.assertIsNotNone(waypoint1) self.assertEqual(waypoint1.title_en, 'Mont Granier') self.assertEqual(waypoint1.title_fr, 'Mont Granier') # self.assertEqual(waypoint1.summary_fr, 'Le Mont Granier ') self.assertEqual(waypoint1.doc_type, 'w') self.assertEqual(waypoint1.quality, 2) self.assertEqual(waypoint1.access_time, 3) self.assertAlmostEqual(waypoint1.geom[0], 5.71288994) self.assertAlmostEqual(waypoint1.geom[1], 45.64476395) waypoint2 = SearchWaypoint.get(id=71172) self.assertIsNotNone(waypoint2) self.assertEqual(waypoint2.title_en, 'Mont Blanc') self.assertEqual(waypoint2.title_fr, '') self.assertEqual(waypoint2.doc_type, 'w') route = SearchRoute.get(id=71173) self.assertIsNotNone(route) self.assertEqual(route.title_en, 'Mont Blanc : Face N') self.assertEqual(route.title_fr, '') self.assertEqual(route.doc_type, 'r') self.assertEqual(route.durations, [0]) outing = SearchOuting.get(id=71175) self.assertIsNotNone(outing) self.assertEqual(outing.title_en, 'Mont Blanc : Face N !') self.assertEqual(outing.title_fr, '') self.assertEqual(outing.doc_type, 'o') self.assertEqual(outing.frequentation, 3) article = SearchArticle.get(id=71176) self.assertIsNotNone(article) self.assertEqual(article.title_en, 'Lac d\'Annecy') self.assertEqual(article.title_fr, 'Lac d\'Annecy') self.assertEqual(article.doc_type, 'c') book = SearchBook.get(id=71177) self.assertIsNotNone(book) self.assertEqual(book.title_en, 'Escalades au Thaurac') self.assertEqual(book.title_fr, 'Escalades au Thaurac') self.assertEqual(book.doc_type, 'b') self.assertEqual(book.book_types, ['biography']) xreport = SearchXreport.get(id=71178) self.assertIsNotNone(xreport) self.assertEqual(xreport.title_en, 'Death in the mountains') self.assertEqual(xreport.doc_type, 'x') # merged document is ignored self.assertIsNone(SearchWaypoint.get(id=71174, ignore=404)) # check that the sync. status was updated last_update, _ = es_sync.get_status(self.session) self.assertIsNotNone(last_update)