# HG changeset patch # User cavaliet # Date 1331120862 -3600 # Node ID ae287132c61ea4d90e9c20a01b82df9f6557ba8e # Parent 12b45313f9c9d0ba203a75a87051cfb9f9bbb28a merge indexation for possibility to search by group of tagged medias. diff -r 12b45313f9c9 -r ae287132c61e src/ldt/ldt/indexation/__init__.py --- a/src/ldt/ldt/indexation/__init__.py Wed Mar 07 12:44:22 2012 +0100 +++ b/src/ldt/ldt/indexation/__init__.py Wed Mar 07 12:47:42 2012 +0100 @@ -10,33 +10,37 @@ ANALYZER.addAnalyzer("abstract", lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) ANALYZER.addAnalyzer("all", lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) -def get_results_with_context(field, query): +def get_results_with_context(field, query, content_list=None): searcher = get_searcher() try: res = get_results_list(field, query, searcher) query = get_query_parser(field).parse(query) - contexts = [] + contexts = [] + content_iri_ids = None + if content_list is not None : + content_iri_ids = [ctt.iri_id for ctt in content_list] for i in res: - doc = searcher.doc(i.doc) - ids = {"iri_id":doc.get("iri_id"), "ensemble_id":doc.get("ensemble_id"), "decoupage_id":doc.get("decoupage_id"), "element_id":doc.get("element_id"), "project_id":doc.get("project_id")} - score = i.score - title = doc.getField('title').stringValue() - desc = doc.getField('abstract').stringValue() - tags = doc.getField('tags').stringValue() - begin = doc.getField('begin').stringValue() - duration = doc.getField('duration').stringValue() - - ids['context'] = desc - ids['title'] = title - ids['tags'] = tags - ids['score'] = score - ids['lucene_id'] = i.doc - ids['begin'] = begin - ids['duration'] = duration - contexts.append(ids) + doc = searcher.doc(i.doc) + if content_iri_ids is None or (content_iri_ids is not None and doc.get("iri_id") in content_iri_ids) : + ids = {"iri_id":doc.get("iri_id"), "ensemble_id":doc.get("ensemble_id"), "decoupage_id":doc.get("decoupage_id"), "element_id":doc.get("element_id"), "project_id":doc.get("project_id")} + score = i.score + title = doc.getField('title').stringValue() + desc = doc.getField('abstract').stringValue() + tags = doc.getField('tags').stringValue() + begin = doc.getField('begin').stringValue() + duration = doc.getField('duration').stringValue() + + ids['context'] = desc + ids['title'] = title + ids['tags'] = tags + ids['score'] = score + ids['lucene_id'] = i.doc + ids['begin'] = begin + ids['duration'] = duration + contexts.append(ids) finally: searcher.close() return contexts