This is in order to see how this could fit into our Search.
A first question is how to replace the main Search widget with something that supports search over labels of ZObjects (similar to what Wikidata does).
Our requirements:
- we need to be able to search in different languages
- ideally with fallback
- we need to filter results by type
- the type is hierarchical (so something like https://www.elastic.co/guide/en/app-search/current/hierarchical-facets-guide.html would be really neat, I guess)
The hierarchy isn't complex, but there is a Z1/Any type, which acts like a placeholder, so to give a complex example, if the type is
Z8([Z40, Z10(Z6)], Z8([Z11], Z22))
this should also be captured by
Z8([Z40, Z10(Z6)], Z8([Z11], *))
Z8([Z40, Z10(Z6)], Z8([*], Z22))
Z8([Z40, Z10(Z6)], Z8([*], *))
Z8([Z40, Z10(Z6)], Z8(*, Z22))
Z8([Z40, Z10(Z6)], Z8(*, *))
Z8([Z40, Z10(Z6)], *)
Z8([Z40, Z10(*)], Z8([Z11], Z22))
Z8([Z40, *], Z8([Z11], Z22))
Z8([*, Z10(Z6)], Z8([Z11], Z22))
Z8([*, *], Z8([Z11], Z22))
Z8(*, Z8([Z11], Z22))
Z8(*, *)
and some more (I didn't make the whole list). It seems that hierarchical facets could capture that.