cpburnz

PyLucene facet extension example

Apr 18th, 2012
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.18 KB | None | 0 0
  1. import pprint
  2. import lucene
  3. import luceneextras.faceting
  4.  
  5. lucene.initVM()
  6.  
  7. index_dir = lucene.SimpleFSDirectory(lucene.File("product.idx"))
  8. searcher = lucene.IndexSearcher(index_dir)
  9.  
  10. # Perform query.
  11. query_analyzer = lucene.StandardAnalyzer()
  12. query_str = "Helmet"
  13. query_fields = ["title", "category"]
  14. query = lucene.QueryParser.parse(lucene.MultiFieldQueryParser(lucene.Version.LUCENE_CURRENT, query_fields, query_analyzer), query_str)
  15. top_docs = searcher.searcher(query, searcher.maxDoc())
  16.  
  17. # Facet on resulting docs.
  18. faceter = luceneextras.faceting.Faceting(searcher.getIndexReader())
  19. facet_counts = faceter.facet_counts(docs=top_docs, fields=["category_term"])
  20. pprint.pprint(facet_counts)
  21. # {u'category_term': {u'Accessories': 16,
  22. #                     u'Casuals-Men': 4,
  23. #                     u'Helmet Shields': 310,
  24. #                     u'Helmets-Adult': 442,
  25. #                     u'Helmets-Full Face': 873,
  26. #                     u'Helmets-Half': 88,
  27. #                     u'Helmets-Modular': 60,
  28. #                     u'Helmets-Open Face': 101,
  29. #                     u'Helmets-Youth': 167,
  30. #                     u'Luggage': 16,
  31. #                     u'Protection-Adult': 6}}
Advertisement
Add Comment
Please, Sign In to add comment