gen-search-idx: do not rely on offsets

master
Andrew Dolgov 9 years ago
parent 410c0ce6d5
commit 73ef6f0459

@ -338,17 +338,15 @@
$result = db_query("SELECT COUNT(id) AS count FROM ttrss_entries WHERE tsvector_combined IS NULL"); $result = db_query("SELECT COUNT(id) AS count FROM ttrss_entries WHERE tsvector_combined IS NULL");
$count = db_fetch_result($result, 0, "count"); $count = db_fetch_result($result, 0, "count");
print "Entries to process: $count.\n"; print "Articles to process: $count.\n";
$offset = 0; $limit = 500;
$limit = 1000; $processed = 0;
while (true) { while (true) {
$result = db_query("SELECT id, title, content FROM ttrss_entries WHERE tsvector_combined IS NULL ORDER BY id LIMIT $limit OFFSET $offset"); $result = db_query("SELECT id, title, content FROM ttrss_entries WHERE tsvector_combined IS NULL ORDER BY id LIMIT $limit");
if (db_num_rows($result) != 0) { if (db_num_rows($result) != 0) {
echo "Offset $offset...\n";
while ($line = db_fetch_assoc($result)) { while ($line = db_fetch_assoc($result)) {
$tsvector_combined = db_escape_string(mb_substr($line['title'] . ' ' . strip_tags($line['content']), $tsvector_combined = db_escape_string(mb_substr($line['title'] . ' ' . strip_tags($line['content']),
0, 1000000)); 0, 1000000));
@ -356,7 +354,9 @@
db_query("UPDATE ttrss_entries SET tsvector_combined = to_tsvector('english', '$tsvector_combined') WHERE id = " . $line["id"]); db_query("UPDATE ttrss_entries SET tsvector_combined = to_tsvector('english', '$tsvector_combined') WHERE id = " . $line["id"]);
} }
$offset += $limit; $processed += db_num_rows($result);
print "Processed $processed articles...\n";
} else { } else {
echo "All done.\n"; echo "All done.\n";
break; break;

Loading…
Cancel
Save