Thought I would check in. Many hours later and I have a working implementation.
Features:
* ProductAttributeValues, price, availability are all nested attributes
* Category, title, text index, date_created, rating are regular attributes
* Standalone products are normalized as parent-child pairs in elastic search to make querying more sane
* The aforementioned false positives are completely fixed
* There is a sophisticated faceting system that uses elastic search's aggregates. The counts are correct (not vulnerable to false positives)
Some implementation details:
* It's implemented as a custom search app. Not a fork or anything like that
* Uses elasticsearch-dsl. I tried to write the JSON directly, but that ended up being torturous
* Had to overwrite a few things:
- SearchForm, BrowseSearchForm
- SearchHandler, ProductSearchHandler,
- FacetedSearchView
- FacetMunger
- a few minor tweaks to templates
* Wrote a custom management command to populate the index. The DocType class was super helpful here
https://elasticsearch-dsl.readthedocs.org/en/latest/persistence.html#doctype
On Thursday, March 26, 2015 at 3:14:58 PM UTC-5, John P wrote: