mirror of
https://github.com/YGGverse/Yo.git
synced 2025-03-13 05:41:18 +00:00
enable cleanup on configuration update, delete snap match cleanup conditions
This commit is contained in:
parent
25cfd4fac1
commit
e635ec6dc9
@ -37,10 +37,6 @@ $index = $client->index(
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Apply new configuration rules
|
// Apply new configuration rules
|
||||||
/*
|
|
||||||
@TODO this case removes some not relevant records, the solution still wanted:
|
|
||||||
https://github.com/manticoresoftware/manticoresearch-php/discussions/196
|
|
||||||
|
|
||||||
echo _('apply new configuration rules...') . PHP_EOL;
|
echo _('apply new configuration rules...') . PHP_EOL;
|
||||||
|
|
||||||
foreach ($config->cli->document->crawl->skip->stripos->url as $condition)
|
foreach ($config->cli->document->crawl->skip->stripos->url as $condition)
|
||||||
@ -50,23 +46,86 @@ foreach ($config->cli->document->crawl->skip->stripos->url as $condition)
|
|||||||
$condition
|
$condition
|
||||||
);
|
);
|
||||||
|
|
||||||
$result = $index->deleteDocuments(
|
// Process conditions match indexer settings
|
||||||
[
|
if (
|
||||||
'match' =>
|
isset($config->manticore->index->document->settings->min_word_len)
|
||||||
[
|
&&
|
||||||
'url' => $condition
|
mb_strlen($condition) < $config->manticore->index->document->settings->min_word_len
|
||||||
]
|
) {
|
||||||
]
|
|
||||||
|
echo sprintf(
|
||||||
|
_('condition skipped as "min_word_len" value is "%d"') . PHP_EOL,
|
||||||
|
$config->manticore->index->document->settings->min_word_len
|
||||||
|
);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
isset($config->manticore->index->document->settings->min_prefix_len)
|
||||||
|
&&
|
||||||
|
mb_strlen($condition) < $config->manticore->index->document->settings->min_prefix_len
|
||||||
|
) {
|
||||||
|
|
||||||
|
echo sprintf(
|
||||||
|
_('condition skipped as "min_prefix_len" value is "%d"') . PHP_EOL,
|
||||||
|
$config->manticore->index->document->settings->min_prefix_len
|
||||||
|
);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Begin search query
|
||||||
|
$documents = 0;
|
||||||
|
$snaps = 0;
|
||||||
|
|
||||||
|
foreach($index->search(sprintf('@url "%s"', $condition))->get() as $document)
|
||||||
|
{
|
||||||
|
// Delete found document by it ID
|
||||||
|
$result = $index->deleteDocument(
|
||||||
|
$document->getId()
|
||||||
|
);
|
||||||
|
|
||||||
|
// Delete local snaps
|
||||||
|
$location = sprintf(
|
||||||
|
'%s/%s',
|
||||||
|
'/' === substr($config->snap->storage->local->directory, 0, 1) ? $config->snap->storage->local->directory
|
||||||
|
: __DIR__ . '/../../../' . $config->snap->storage->local->directory,
|
||||||
|
implode(
|
||||||
|
'/',
|
||||||
|
str_split(
|
||||||
|
md5(
|
||||||
|
$document->get('url')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (file_exists($location))
|
||||||
|
{
|
||||||
|
if (unlink($location))
|
||||||
|
{
|
||||||
|
$snaps++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$documents++;
|
||||||
|
|
||||||
|
// @TODO delete remote snaps
|
||||||
|
}
|
||||||
|
|
||||||
|
echo sprintf(
|
||||||
|
_('deleted documents: %d') . PHP_EOL,
|
||||||
|
$documents
|
||||||
);
|
);
|
||||||
|
|
||||||
echo sprintf(
|
echo sprintf(
|
||||||
_('documents deleted: %d') . PHP_EOL,
|
_('deleted local snaps: %d') . PHP_EOL,
|
||||||
$result['deleted']
|
$snaps
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
echo _('new configuration rules apply completed.') . PHP_EOL;
|
echo _('new configuration rules apply completed.') . PHP_EOL;
|
||||||
*/
|
|
||||||
|
|
||||||
// Optimize indexes
|
// Optimize indexes
|
||||||
echo _('indexes optimization begin...') . PHP_EOL;
|
echo _('indexes optimization begin...') . PHP_EOL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user