apache / apache/lucene

Support sparse faceting for heterogeneous indices [LUCENE-5333]

Open
#6,397 12 comments 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Major module:facet type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

In some search apps, e.g. a large e-commerce site, the index can have
a mix of wildly different product categories and facet dimensions, and
the number of dimensions could be huge.

E.g. maybe the index has shirts, computer memory, hard drives, etc.,
and each of these many categories has different attributes.

In such an index, when someone searches for "so dimm", which should
match a bunch of laptop memory modules, you can't (easily) know up
front which facet dimensions will be important.

But, I think this is very easy for the facet module, since ords are
stored "row stride" (each doc lists all facet labels it has), we could
simply count all facets that the hits actually saw, and then in the
end see which ones "got traction" and return facet results for these
top dims.

I'm not sure what the API would look like, but conceptually this
should work very well, because of how the facet module works.
You shouldn't have to state up front exactly which facet dimensions
to count...

---
Migrated from [LUCENE-5333](https://issues.apache.org/jira/browse/LUCENE-5333) by Michael McCandless (@mikemccand), 1 vote, updated Nov 11 2013
Attachments: [LUCENE-5333.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-5333/LUCENE-5333.patch) (versions: 3)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.