I'm looking at someone's existing ES setup and I noticed a couple of things
that don't seem to resemble the use cases in the documentation and in many
of the other community resources. I'd love a sanity check:
- Indexes seem to be used as a first level of typing. E,g, there's
"hotels", "restaurants", and "people" indices. - Sometimes these indices use schemas, but only for what I'd say were
"subtypes" of the types that the indices represent. E.g. under the "people"
index, there'd be "managers", "health inspectors", etc.
These indices are optimized to being searched individually with rather
complex query interfaces. But the site gives a global search option where
they return the top N results from each index, querying against a default
field. I'm trying to figure out if there's a way to use the natural weights
of each document (e.g., if a users searches "Caesar salad", the results
should probably be more restaurants than either of the others). The options
I've come up with are:
- Search across multiple indices and use index boosting to try to
compensate for when things "just look wrong". This obviously has the
downside of bringing manual intervention into the mix. - Have a "global search" index, with the data from the other indices, but
optimized into something that makes sense to compare across the types. The
downside I see with this is that it pretty much doubles the space
requirements. Also, they're worried about potentially ruining an entire
global search index and having to regenerate a much bigger one. They're
also worried that there'd be a performance hit for one index—I think I've
heard the opposite is true, but I don't have evidence - Have a field within each index that wants to participate in the global
search and do a multi-index search. The benefit over 1 is that at least the
fields would all probably be analyzed the same way. But I'm not sure how
being in different indices would affect the score (since they have
different idfs--see my previous question).
Anyway, this doesn't seem to be a big problem for the majority of ES users,
so I'm wondering if you guys are seeing something I'm not. Thanks for your
help.
--