[Rt-commit] rt branch, 4.2/mysql-native-fts, repushed
Alex Vandiver
alexmv at bestpractical.com
Wed Nov 26 16:10:49 EST 2014
The branch 4.2/mysql-native-fts was deleted and repushed:
was 17850b60d781282fa57fca0b70781db54b5e96a6
now 77641fc397e6abe83bc3935bad44c55591a3d2ca
--: ------- > 1: a7968ec Add full path to one rt-fulltext-indexer that lacks it
1: ff018f3 = 2: 84747c7 Add additional clarification points about Sphinx on MySQL
2: 7d52ea3 = 3: ac688e2 Drop sphinx xmlpipe2 output, which was unusable and undocumented
3: 3152f64 = 4: d5f256f Drop finalize and clean functions, which are now unused
4: fd038d9 ! 5: 02a8588 Rename Sphinx FTS search tests to "sphinx", not "mysql"
@@ -1,6 +1,6 @@
Author: Alex Vandiver <alexmv at bestpractical.com>
- Rename Sphinx FTS search
+ Rename Sphinx FTS search tests to "sphinx", not "mysql"
diff --git a/t/fts/indexed_mysql.t b/t/fts/indexed_mysql.t
deleted file mode 100644
5: 2374496 ! 6: 84066c4 Support native FTS on MySQL 5.6 and above
@@ -21,19 +21,19 @@
+marks attachment data as C<BINARY>, it cannot index this content without
+creating additional tables. To create the required table, run:
+
-+ sbin/rt-setup-fulltext-index
++ /opt/rt4/sbin/rt-setup-fulltext-index
+
+If you have a non-standard database administrator username or password,
+you may need to pass the C<--dba> or C<--dba-password> options:
+
-+ sbin/rt-setup-fulltext-index --dba root --dba-password secret
++ /opt/rt4/sbin/rt-setup-fulltext-index --dba root --dba-password secret
+
+This will also output an appropriate C<%FullTextSearch> configuration to
+add to your F<RT_SiteConfig.pm>; you will need to restart your webserver
+after making these changes. However, the index will also need to be
+filled before it can be used. To update the index initially, run:
+
-+ sbin/rt-fulltext-indexer --all
++ /opt/rt4/sbin/rt-fulltext-indexer --all
+
+This will tokenize and index all existing attachments in your database;
+it may take quite a while if your database already has a large number of
@@ -43,13 +43,21 @@
+
+To keep the index up-to-date, you will need to run:
+
-+ sbin/rt-fulltext-indexer
++ /opt/rt4/sbin/rt-fulltext-indexer
+
+...at regular intervals. By default, this will only tokenize up to 100
+tickets at a time; you can adjust this upwards by passing
+C<--limit 500>. Larger batch sizes will take longer and
-+consume more memory. Care should be taken to ensure that multiple
-+instances of C<rt-fulltext-indexer> are not run at the same time.
++consume more memory.
++
++If there is already an instances of C<rt-fulltext-indexer> running, new
++ones will exit abnormally (with exit code 1) and the error message
++"rt-fulltext-indexer is already running." You can suppress this message
++and end those processes normally (with exit code 0) using the C<--quiet>
++option; this is particularly useful when running the command via
++C<cron>:
++
++ /opt/rt4/sbin/rt-fulltext-indexer --quiet
+
+
+=head2 MySQL with Sphinx
6: bfd8dce ! 7: 77641fc Using a separate MyISAM table, we can also support FTS on MySQL < 5.6
@@ -26,11 +26,11 @@
+content without creating an additional table. To create the required
+table (which is InnoDB on versions of MySQL which support it), run:
- sbin/rt-setup-fulltext-index
+ /opt/rt4/sbin/rt-setup-fulltext-index
@@
- consume more memory. Care should be taken to ensure that multiple
- instances of C<rt-fulltext-indexer> are not run at the same time.
+
+ /opt/rt4/sbin/rt-fulltext-indexer --quiet
+=head3 Caveats
+
@@ -58,7 +58,7 @@
- if $index_type ne 'sphinx';
+ $msg = "Complete support for full-text search requires MySQL 5.6 or higher. For prior\n"
+ ."versions such as yours, full-text indexing can either be provided using MyISAM\n"
-+ ."tables, or the external Sphinx indexer. Using MyISAM tables requires that your\n"
++ ."tables, or the external Sphinx indexer. Using MyISAM tables requires that your\n"
+ ."database be tuned to support them, as RT uses InnoDB tables for all other content.\n"
+ ."Using Sphinx will require recompiling MySQL. Which indexing solution would you\n"
+ ."prefer?"
@@ -153,4 +153,3 @@
run_tests(
"Content LIKE 'book'" => { book => 1, bar => 0 },
"Content LIKE 'bar'" => { book => 0, bar => 1 },
-
7: a4e5362 < --: ------- extract_text and extract_html are identical; inline them
8: 2474f53 < --: ------- Inline the differences between text/plain and text/html attachment lists
9: b276cbe < --: ------- Stop skipping indexing of text/html within multipart/alternative
10: b3bf43a < --: ------- Use the new, shorterm initialization form
11: 06e22fe < --: ------- Simplify and condense option parsing
12: 5b8ed2a < --: ------- Documentation has moved out; update --help accordingly
13: b06fef2 < --: ------- Remove AUTHOR section; it is unnecessary in core sbin files
14: 929539a < --: ------- Skipping ACL checks yields a sizable performance increase
15: 434556b < --: ------- Index attachments in one pass through the database, not two
16: 1f70512 < --: ------- Index attachments even on deleted tickets
17: f9c8eae < --: ------- mysql and pg share the same last_indexed; unify the method
18: 31fe979 < --: ------- Replace the last use of goto_specific with explicit function calls
19: 0692e70 < --: ------- Simplify last_indexed
20: 2152feb < --: ------- Only call last_indexed once, as it may be heavy
21: 6f02246 < --: ------- Index even empty attachments
22: 35037b6 < --: ------- As last_indexed is based on the highest insert, there will never be an UPDATE needed
23: 6842b22 < --: ------- Inversion of control of main indexing loops
24: 00037f9 < --: ------- Switch to preparing statements, rather than just setting strings
25: d2b9064 < --: ------- INSERT DELAYED provides notable speed benefits on MyISAM
26: 17850b6 < --: ------- Improve MySQL insert speed by batching inserts into one statement
More information about the rt-commit
mailing list