From 7efed7b584f670ff88cf26bac4705d94281b0686 Mon Sep 17 00:00:00 2001 From: Sebastian Helzle Date: Mon, 10 Feb 2025 17:16:30 +0100 Subject: [PATCH] BUGFIX: Skip content with hidden parent nodes in fulltext index Relates: #214 #377 --- Classes/Indexer/NodeIndexer.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Classes/Indexer/NodeIndexer.php b/Classes/Indexer/NodeIndexer.php index f39f74a0..1392bef4 100644 --- a/Classes/Indexer/NodeIndexer.php +++ b/Classes/Indexer/NodeIndexer.php @@ -243,6 +243,16 @@ public function indexNode(NodeInterface $node, $targetWorkspaceName = null): voi } } + // Don't index node into fulltext if it has a hidden parent node that is not a fulltext root + // Example: If a text node is in a hidden container element, it should not be indexed into the document + $parentNode = $node; + while (($parentNode = $parentNode->getParent()) + && !$parentNode->getNodeType()->getConfiguration('search.fulltext.isRoot')) { + if (!$parentNode->isVisible()) { + return; + } + } + $documentIdentifier = $this->documentIdentifierGenerator->generate($node, $targetWorkspaceName); $nodeType = $node->getNodeType();