inverted_word_index
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| inverted_word_index [2011/08/09 16:57] – [Function] daniel | inverted_word_index [2016/05/16 12:27] (current) – remove useless j++ in loop daniel | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| See also [[http:// | See also [[http:// | ||
| - | * [[http:// | + | * [[http:// |
| - | * [[http:// | + | * [[http:// |
| - | * [[http:// | + | * [[http:// |
| ===== Function ===== | ===== Function ===== | ||
| Line 10: | Line 10: | ||
| The word index can be queried in SQL. Here is the code of a PL/pgSQL function that retrieves the IDs of messages containing a set of words. The words are given as an array of text. | The word index can be queried in SQL. Here is the code of a PL/pgSQL function that retrieves the IDs of messages containing a set of words. The words are given as an array of text. | ||
| The function is already in the Manitou-Mail database for versions 1.1.0 and above | The function is already in the Manitou-Mail database for versions 1.1.0 and above | ||
| - | <code sql> | + | <file sql wordsearch.sql> |
| -- Input: an array of words to search within the entire index | -- Input: an array of words to search within the entire index | ||
| -- Output: the mail_id of the matching messages, as a set. | -- Output: the mail_id of the matching messages, as a set. | ||
| Line 64: | Line 64: | ||
| RETURN NEXT var_part_no*16384+(i*8)+j+1; | RETURN NEXT var_part_no*16384+(i*8)+j+1; | ||
| END IF; | END IF; | ||
| - | j:=j+1; | ||
| END LOOP; | END LOOP; | ||
| END LOOP; | END LOOP; | ||
| Line 73: | Line 72: | ||
| $$ LANGUAGE plpgsql; | $$ LANGUAGE plpgsql; | ||
| - | </code> | + | </file> |
| ===== Notes ===== | ===== Notes ===== | ||
| The following formula: < | The following formula: < | ||
inverted_word_index.1312909048.txt.gz · Last modified: 2011/08/09 16:57 by daniel
