java-topology/defects/suitecrm-0006/patch/suitecrm-0006-lucene-parsehits-in_array.patch

15 lines
677 B
Diff

# UNDF: UNDF-2026-000001204
--- a/lib/Search/AOD/LuceneSearchEngine.php
+++ b/lib/Search/AOD/LuceneSearchEngine.php
@@ -187,8 +187,9 @@ class LuceneSearchEngine implements SearchEngine
private function parseHits(array $hits, array $modules, int $from, int $size): array
{
$searchResults = [];
- foreach ($hits as $hit) {
- if(!in_array($hit->record_module, $modules, true)){
+ $modules_set = array_flip($modules); // O(M) once; O(H*M) -> O(H+M)
+ foreach ($hits as $hit) {
+ if(!isset($modules_set[$hit->record_module])){
continue;
}
$recordModule = $hit->record_module;