Skip to content

Commit d82444d

Browse files
authored
Merge pull request #55 from soee/avoidTheSameVersionToBeStoredMultipleTimes
#39 Avoid adding the same snippet version into index multiple times
2 parents 4dde12e + 1667e95 commit d82444d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/Repository/ElasticRepository.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,12 @@ public function addOrUpdateDocument(array $snippet): void
7373
$urlFragment = str_replace('/', '-', $snippet['manual_title'] . '-' . $snippet['relative_url'] . '-' . $snippet['content_hash']);
7474
$documentId = $urlFragment . '-' . $snippet['fragment'];
7575

76-
$script = new Script('ctx._source.manual_version.add(params.manual_version)');
76+
$scriptCode = <<<EOD
77+
if (!ctx._source.manual_version.contains(params.manual_version)) {
78+
ctx._source.manual_version.add(params.manual_version);
79+
}
80+
EOD;
81+
$script = new Script($scriptCode);
7782
$script->setParam('manual_version', $snippet['manual_version']);
7883
$snippet['manual_version'] = [$snippet['manual_version']];
7984
$script->setUpsert($snippet);

0 commit comments

Comments
 (0)