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/04/09 20:50] – 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 ===== | ||
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.0.3 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.txt · Last modified: 2016/05/16 12:27 by daniel