コード例 #1
0
ファイル: __init__.py プロジェクト: silken/recipebook
 def search(self, model_manager, queries, fields=None, page=1, per_page=10):
     fq = "+type:%s" % model_manager.model.__name__
     start = per_page * (page-1)
     results = SolrConnection.search(self.url, queries, fields, fq=fq,
                                     start=start, rows=per_page)
     ids = [ self.instance_pk(r["id"]) for r in results ]
     instances = ids and model_manager.filter(id__in=ids) or []
     return {"hits":results.hits, "object_list":instances}
コード例 #2
0
ファイル: __init__.py プロジェクト: silken/recipebook
 def delete(self, instance):
     doc_id = self.doc_id(instance)
     SolrConnection.delete(self.url, doc_id)
コード例 #3
0
ファイル: __init__.py プロジェクト: silken/recipebook
 def add_doc(self, instance, data):
     doc = dict(data)
     doc["type"] = instance.__class__.__name__
     doc["id"] = self.doc_id(instance)
     SolrConnection.add(self.url, [doc])