- Switch to ES parent/child join_field: discussion docs hold all metadata, post docs hold content only. Routing ensures parent and child land on the same shard. Removes the old flat-document approach where post data was duplicated onto every comment document. - Add HasChildQuery with inner_hits so the best-matching post ID is surfaced as mostRelevantPost without a second DB query. - Blue-green index rebuilds: --recreate writes into a timestamped pending index, --swap atomically promotes it via alias. Interrupted builds are resumable with --recreate --continue. --swap requires confirmation before proceeding. - Index hidden posts; non-moderators are filtered at query time via is_hidden on the has_child clause. Core\Hidden and Core\Restored trigger re-indexing so moderators with post.hide can search hidden posts. |
||
|---|---|---|
| .. | ||
| HasChildQuery.php | ||
| MatchPhraseQuery.php | ||
| MatchQuery.php | ||
| SimpleSearchQuery.php | ||
| TermsQuery.php | ||
| WildcardQuery.php | ||