本文整理汇总了Python中arches.app.search.search_engine_factory.SearchEngineFactory.index_term方法的典型用法代码示例。如果您正苦于以下问题:Python SearchEngineFactory.index_term方法的具体用法?Python SearchEngineFactory.index_term怎么用?Python SearchEngineFactory.index_term使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类arches.app.search.search_engine_factory.SearchEngineFactory
的用法示例。
在下文中一共展示了SearchEngineFactory.index_term方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: index
# 需要导入模块: from arches.app.search.search_engine_factory import SearchEngineFactory [as 别名]
# 或者: from arches.app.search.search_engine_factory.SearchEngineFactory import index_term [as 别名]
def index(self, scheme=None):
if self.category == 'label':
se = SearchEngineFactory().create()
data = JSONSerializer().serializeToPython(self)
if scheme == None:
scheme = self.get_scheme_id()
if scheme == None:
raise Exception('Index of label failed. Index type (scheme id) could not be derived from the label.')
se.create_mapping('concept_labels', scheme.id, fieldname='conceptid', fieldtype='string', fieldindex='not_analyzed')
se.index_data('concept_labels', scheme.id, data, 'id')
# don't create terms for entity type concepts
if not(scheme.id == '00000000-0000-0000-0000-000000000003' or scheme.id == '00000000-0000-0000-0000-000000000004'):
se.index_term(self.value, self.id, scheme.id, {'conceptid': self.conceptid})
示例2: index
# 需要导入模块: from arches.app.search.search_engine_factory import SearchEngineFactory [as 别名]
# 或者: from arches.app.search.search_engine_factory.SearchEngineFactory import index_term [as 别名]
def index(self, scheme=None):
if self.category == 'label':
se = SearchEngineFactory().create()
data = JSONSerializer().serializeToPython(self)
if scheme == None:
scheme = self.get_scheme_id()
if scheme == None:
raise Exception('Index of label failed. Index type (scheme id) could not be derived from the label.')
se.create_mapping('concept_labels', scheme.id, fieldname='conceptid', fieldtype='string', fieldindex='not_analyzed')
se.index_data('concept_labels', scheme.id, data, 'id')
#Looks up whether the label is actually a dropdown label or an entity label and, if so, excludes them from the term search index.
entity_or_dropdown= archesmodels.ConceptRelations.objects.filter(Q(relationtype ='hasCollection') | Q(relationtype ='hasEntity'),conceptidto = scheme.id)
is_entity_or_dropdown = False if entity_or_dropdown.count() == 0 else True
# don't create terms for entity type concepts
if not(scheme.id == '00000000-0000-0000-0000-000000000003' or scheme.id == '00000000-0000-0000-0000-000000000004') and is_entity_or_dropdown ==False:
se.index_term(self.value, self.id, scheme.id, {'conceptid': self.conceptid})
示例3: index
# 需要导入模块: from arches.app.search.search_engine_factory import SearchEngineFactory [as 别名]
# 或者: from arches.app.search.search_engine_factory.SearchEngineFactory import index_term [as 别名]
def index(self):
"""
Indexes all the nessesary documents related to resources to support the map, search, and reports
"""
se = SearchEngineFactory().create()
search_documents = self.prepare_documents_for_search_index()
for document in search_documents:
se.index_data('entity', self.entitytypeid, document, id=self.entityid)
report_documents = self.prepare_documents_for_report_index(geom_entities=document['geometries'])
for report_document in report_documents:
se.index_data('resource', self.entitytypeid, report_document, id=self.entityid)
geojson_documents = self.prepare_documents_for_map_index(geom_entities=document['geometries'])
for geojson in geojson_documents:
se.index_data('maplayers', self.entitytypeid, geojson, idfield='id')
for term in self.prepare_terms_for_search_index():
se.index_term(term['term'], term['entityid'], term['context'], term['options'])