1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2025-12-13 13:55:55 +00:00

more fts stuff for simple index

This commit is contained in:
Andrew Dolgov
2015-08-04 12:52:49 +03:00
parent b4f544d389
commit e854442e1f
6 changed files with 103 additions and 42 deletions

View File

@@ -33,6 +33,7 @@
"update-schema",
"convert-filters",
"force-update",
"update-search-idx",
"list-plugins",
"help");
@@ -80,6 +81,7 @@
print " --log FILE - log messages to FILE\n";
print " --indexes - recreate missing schema indexes\n";
print " --update-schema - update database schema\n";
print " --update-search-idx - update PostgreSQL fulltext search index\n";
print " --convert-filters - convert type1 filters to type2\n";
print " --force-update - force update of all feeds\n";
print " --list-plugins - list all available plugins\n";
@@ -330,6 +332,40 @@
}
if (isset($options["update-search-idx"])) {
echo "Generating search index...\n";
$result = db_query("SELECT COUNT(id) AS count FROM ttrss_entries");
$count = db_fetch_result($result, 0, "count");
print "Total entries: $count.\n";
$offset = 0;
$limit = 1000;
while (true) {
$result = db_query("SELECT id, title, content FROM ttrss_entries WHERE tsvector_combined IS NULL ORDER BY id LIMIT $limit OFFSET $offset");
if (db_num_rows($result) != 0) {
echo "Offset $offset...\n";
while ($line = db_fetch_assoc($result)) {
$tsvector_combined = db_escape_string(mb_substr($line['title'] . ' ' . strip_tags($line['content']),
0, 1000000));
db_query("UPDATE ttrss_entries SET tsvector_combined = to_tsvector('simple', '$tsvector_combined') WHERE id = " . $line["id"]);
}
$offset += $limit;
} else {
echo "All done.\n";
break;
}
}
}
if (isset($options["list-plugins"])) {
$tmppluginhost = new PluginHost();
$tmppluginhost->load_all($tmppluginhost::KIND_ALL);