OLD | NEW |
1 | 1 |
2 1. FTS3 Tokenizers | 2 1. FTS3 Tokenizers |
3 | 3 |
4 When creating a new full-text table, FTS3 allows the user to select | 4 When creating a new full-text table, FTS3 allows the user to select |
5 the text tokenizer implementation to be used when indexing text | 5 the text tokenizer implementation to be used when indexing text |
6 by specifying a "tokenize" clause as part of the CREATE VIRTUAL TABLE | 6 by specifying a "tokenize" clause as part of the CREATE VIRTUAL TABLE |
7 statement: | 7 statement: |
8 | 8 |
9 CREATE VIRTUAL TABLE <table-name> USING fts3( | 9 CREATE VIRTUAL TABLE <table-name> USING fts3( |
10 <columns ...> [, tokenize <tokenizer-name> [<tokenizer-args>]] | 10 <columns ...> [, tokenize <tokenizer-name> [<tokenizer-args>]] |
11 ); | 11 ); |
12 | 12 |
13 The built-in tokenizers (valid values to pass as <tokenizer name>) are | 13 The built-in tokenizers (valid values to pass as <tokenizer name>) are |
14 "simple" and "porter". | 14 "simple", "porter" and "unicode". |
15 | 15 |
16 <tokenizer-args> should consist of zero or more white-space separated | 16 <tokenizer-args> should consist of zero or more white-space separated |
17 arguments to pass to the selected tokenizer implementation. The | 17 arguments to pass to the selected tokenizer implementation. The |
18 interpretation of the arguments, if any, depends on the individual | 18 interpretation of the arguments, if any, depends on the individual |
19 tokenizer. | 19 tokenizer. |
20 | 20 |
21 2. Custom Tokenizers | 21 2. Custom Tokenizers |
22 | 22 |
23 FTS3 allows users to provide custom tokenizer implementations. The | 23 FTS3 allows users to provide custom tokenizer implementations. The |
24 interface used to create a new tokenizer is defined and described in | 24 interface used to create a new tokenizer is defined and described in |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 | 124 |
125 sqlite3_bind_text(pStmt, 1, zName, -1, SQLITE_STATIC); | 125 sqlite3_bind_text(pStmt, 1, zName, -1, SQLITE_STATIC); |
126 if( SQLITE_ROW==sqlite3_step(pStmt) ){ | 126 if( SQLITE_ROW==sqlite3_step(pStmt) ){ |
127 if( sqlite3_column_type(pStmt, 0)==SQLITE_BLOB ){ | 127 if( sqlite3_column_type(pStmt, 0)==SQLITE_BLOB ){ |
128 memcpy(pp, sqlite3_column_blob(pStmt, 0), sizeof(*pp)); | 128 memcpy(pp, sqlite3_column_blob(pStmt, 0), sizeof(*pp)); |
129 } | 129 } |
130 } | 130 } |
131 | 131 |
132 return sqlite3_finalize(pStmt); | 132 return sqlite3_finalize(pStmt); |
133 } | 133 } |
OLD | NEW |