FTS使用"http://www.postagresql.org/docs/sign/static/textsearch-terminary.html" rel=“norefererr'>词典 使案文正常化:
<强>12.6. 字典 强>
词典用来消除在搜索中不应考虑的字词(stop words ),并用来消除“em>sirizization words,这样同一词的不同派生形式将匹配。一个成功标准化的单词被称为lexeme 。
因此,词典被用来扔掉一些过于常见或毫无意义的东西,无法在搜索中加以考虑(stop words ),并实现其他一切的正常化,例如,“emem>city and city ,即使它们是不同的单词,也会匹配。
让我们看看"中的一些输出,http://www.postagresql.org/docs/scurrent/static/textsearch-debugging.html#TEXTSearch-CONFiguration-TESTING" rel="noreferr"\\code>ts_debug ,看看字典是怎么回事:
=> select * from ts_debug( english , mortgage );
alias | description | token | dictionaries | dictionary | lexemes
-----------+-----------------+----------+----------------+--------------+-----------
asciiword | Word, all ASCII | mortgage | {english_stem} | english_stem | {mortgag}
=> select * from ts_debug( simple , mortgage );
alias | description | token | dictionaries | dictionary | lexemes
-----------+-----------------+----------+--------------+------------+------------
asciiword | Word, all ASCII | mortgage | {simple} | simple | {mortgage}
请注意, apress
使用 apoint
字典,而 english
使用 english_stem
字典。
http://www.postagresql.org/docs/scurrent/static/textsearch-字典.html#TEXTSearch-SIMPLE-DICTIONAL" rel=“noreferr”code>emple 字典 :
操作时将输入符转换为较低大小写, 并对照停字文件进行检查。 如果在文件中找到, 则返回空数组, 导致该标记被丢弃 。 如果没有, 则以已正常化的字典形式返回小写字句 。
simple
字典只是抛出停止单词、小写字母和关于它的内容。 我们可以看到它本身的简单性:
=> select to_tsquery( simple , Mortgage ), to_tsquery( simple , Mortgages );
to_tsquery | to_tsquery
------------+-------------
mortgage | mortgages
simple
字典太简单,甚至无法处理简单的复数。
这个 english_stem
字典是关于什么的? “stem” 后缀是一个解脱: 本字典对将(例如) city 和 city 转换为相同事物的单词应用了根算法。 从" http://www.postgresql.org/docs/text/textsearch-词典.html#TEXTSearch-SNOWBALL-DITIONARY" rel=“noreferr” >fine 手册 :
<强>12.6.6.6. 雪球词典 强>
雪球字典模板基于马丁·波特的一个项目,他发明了流行的波特英语语言的断裂算法。 [.]每个算法都懂得如何将通用的变式单词写成以其语言拼写的基础或干字。
下面我们可以看到 english_stem
字典:
CREATE TEXT SEARCH DICTIONARY english_stem (
TEMPLATE = snowball,
Language = english,
StopWords = english
);
所以english_stem
字典会根发字句,
=> select to_tsquery( english , Mortgage ), to_tsquery( english , Mortgages );
to_tsquery | to_tsquery
------------+------------
mortgag | mortgag
<强度> 执行摘要 强度> : 简单
意味着简单的心智字匹配, english
应用到(希望) 产生更好的匹配。 后转 mortgage 进入 mortgag ,这给了您匹配的机会 。