Esempio n. 1
0
def ajax():
  q = request.args.get("q")
  page = int(request.args.get("page", 1))
  filters = request.args.getlist("filters[]")

  index_service = indexing.get_service()

  if not filters:
    results = index_service.search(q, File, limit=page*PAGE_SIZE)
    hit_count = results.estimated_length()
  else:
    fieldname, text = filters[0].split(":", 1)
    filter = Term(fieldname, text)
    print filter
    results = index_service.search(q, File, limit=page*PAGE_SIZE, filter=filter)
    hit_count = results.estimated_length()


  pagination = Pagination(page, PAGE_SIZE, hit_count)


  hits = results[(page-1)*PAGE_SIZE:page*PAGE_SIZE]

  return render_template('search/search-ajax.html',
                         query=q,
                         hits=hits,
                         hit_count=hit_count,
                         pagination=pagination)
Esempio n. 2
0
def search_docs():
  """Alternative route for document search."""

  q = request.args.get("q")
  page = int(request.args.get("page", 1))

  breadcrumbs = [
    dict(path="/", label="Home"),
    dict(path="", label="Search for '%s'" % q),
  ]

  index_service = indexing.get_service()
  results = index_service.search(q, File, page*PAGE_SIZE)
  hit_count = results.estimated_length()

  pagination = Pagination(page, PAGE_SIZE, hit_count)

  facets = []
  facets.append(make_facet(results, "Language", "language"))
  facets.append(make_facet(results, "File format", "mime_type"))
  facets.append(make_facet(results, "Creator", "creator"))
  facets.append(make_facet(results, "Owner", "owner"))
  #  ('Created since', []),
  #  ('Modified since', []),

  hits = results[(page-1)*PAGE_SIZE:page*PAGE_SIZE]

  return render_template('search/search-docs.html',
                         query=q,
                         hits=hits,
                         hit_count=hit_count,
                         pagination=pagination,
                         facets=facets,
                         breadcrumbs=breadcrumbs)
Esempio n. 3
0
 def setUp(self):
   self.index = indexing.get_service()
   self.index.start()
   IntegrationTestCase.setUp(self)
Esempio n. 4
0
 def register_services(self):
   # Initiate services
   self.extensions['indexing'] = indexing.get_service(self)
   self.extensions['audit'] = audit.get_service(self)
   self.extensions['activity'] = activity.get_service(self)