[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GMG-Devel] [PATCH 35/83] Add indices for MediaEntry and MediaTag.
From: |
Alon Levy |
Subject: |
[GMG-Devel] [PATCH 35/83] Add indices for MediaEntry and MediaTag. |
Date: |
Tue, 25 Feb 2014 21:58:18 +0200 |
From: Praveen Kumar <address@hidden>
---
mediagoblin/plugins/search/indices.py | 58 +++++++++++++++++++++++++++--------
1 file changed, 45 insertions(+), 13 deletions(-)
diff --git a/mediagoblin/plugins/search/indices.py
b/mediagoblin/plugins/search/indices.py
index c329961..f7b8796 100644
--- a/mediagoblin/plugins/search/indices.py
+++ b/mediagoblin/plugins/search/indices.py
@@ -1,23 +1,55 @@
import logging
-from mediagoblin.db.models import MediaEntry
-
-from mediagoblin.plugins.search import schemas
from mediagoblin.plugins.search.base import SearchIndex
-from mediagoblin.plugins.search import registry
+
+from mediagoblin.db.models import MediaEntry
_log = logging.getLogger(__name__)
-media_entry_search_index = SearchIndex(
- model = MediaEntry,
- schema = schemas.MediaEntryIndexSchema,
-)
+class MediaEntrySearchIndex(SearchIndex):
+ def __init__(self, model, schema, search_index_dir=None,
+ use_multiprocessing=None):
+ super(MediaEntrySearchIndex, self).__init__(
+ model=model, schema=schema,
+ search_index_dir=search_index_dir,
+ use_multiprocessing=use_multiprocessing)
+
+ def _interpret_results(self, results, request_obj=None):
+ _log.info(type(results))
+ all_results = []
+ for result in results:
+ _log.info(result)
+ obj_id = result['id_stored']
+ obj = self.model.query.get(obj_id)
+ all_results.append({
+ 'slug': obj.slug,
+ 'url': obj.url_for_self(request_obj.urlgen),
+ })
+ return all_results
+
+
+class MediaTagSearchIndex(SearchIndex):
+ def __init__(self, model, schema, search_index_dir=None,
+ use_multiprocessing=None):
+ super(MediaTagSearchIndex, self).__init__(
+ model=model, schema=schema,
+ search_index_dir=search_index_dir,
+ use_multiprocessing=use_multiprocessing)
+
+ def _interpret_results(self, results, request_obj):
+ _log.info(results)
+ all_results = []
+ for result in results:
+ obj_id = result['id_stored']
+ obj = self.model.query.get(obj_id)
+ media_entry_obj = MediaEntry.query.get(obj.media_entry)
+ all_results.append({
+ 'slug': media_entry_obj.slug,
+ 'url': media_entry_obj.url_for_self(request_obj.urlgen)
+ })
+
+ return all_results
-def register_indices():
- registry.IndexRegistry.register(media_entry_search_index)
- _log.info("Registered %(index_name)s index for %(model_name)s"%({
- 'index_name': media_entry_search_index.__class__.__name__,
- 'model_name': MediaEntry.__class__.__name__}))
--
1.8.5.3
- [GMG-Devel] [PATCH 25/83] Add search forms., (continued)
- [GMG-Devel] [PATCH 25/83] Add search forms., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 26/83] Add view to handle search queries., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 27/83] Add html template for search page., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 28/83] Fix bugs, Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 29/83] Add methods to interpret results by the SearchIndex object, Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 30/83] fix parameters in search views, Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 31/83] Refactor SearchIndex and add method to update an index., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 32/83] Add event listener for model update, Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 33/83] Add listener for model delete event., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 34/83] Fix bugs in SearchIndex, Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 35/83] Add indices for MediaEntry and MediaTag.,
Alon Levy <=
- [GMG-Devel] [PATCH 36/83] Add schema for MediaTag., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 37/83] Register schemas for MediaEntry and MediaTag., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 38/83] Add gmg command to delete all indices., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 39/83] Clean up and add docstring to search methods., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 40/83] Add try-except block to event listeners., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 42/83] Store attributes from a model only it its available., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 43/83] Add field for storing search results., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 41/83] Correct method names in event listeners, Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 44/83] Remove the field for storing search results with the index., Alon Levy, 2014/02/25
- [GMG-Devel] [PATCH 46/83] Add verbose_name and css_id to search results., Alon Levy, 2014/02/25