Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pprint
- import lucene
- import luceneextras.faceting
- lucene.initVM()
- index_dir = lucene.SimpleFSDirectory(lucene.File("product.idx"))
- searcher = lucene.IndexSearcher(index_dir)
- # Perform query.
- query_analyzer = lucene.StandardAnalyzer()
- query_str = "Helmet"
- query_fields = ["title", "category"]
- query = lucene.QueryParser.parse(lucene.MultiFieldQueryParser(lucene.Version.LUCENE_CURRENT, query_fields, query_analyzer), query_str)
- top_docs = searcher.searcher(query, searcher.maxDoc())
- # Facet on resulting docs.
- faceter = luceneextras.faceting.Faceting(searcher.getIndexReader())
- facet_counts = faceter.facet_counts(docs=top_docs, fields=["category_term"])
- pprint.pprint(facet_counts)
- # {u'category_term': {u'Accessories': 16,
- # u'Casuals-Men': 4,
- # u'Helmet Shields': 310,
- # u'Helmets-Adult': 442,
- # u'Helmets-Full Face': 873,
- # u'Helmets-Half': 88,
- # u'Helmets-Modular': 60,
- # u'Helmets-Open Face': 101,
- # u'Helmets-Youth': 167,
- # u'Luggage': 16,
- # u'Protection-Adult': 6}}
Advertisement
Add Comment
Please, Sign In to add comment