全文检索(FTS)postgres 9.1 _删除

时间:2014-12-15 13:46:43

标签: postgresql full-text-search plpgsql

我想在桌面上执行全文搜索(FTS)。问题是tsvector删除了单词中的下划线(例如:person_id成为person和id)。我在哪里可以配置它将使用下划线?

Ty提前的家伙

1 个答案:

答案 0 :(得分:0)

我担心你将不得不编写自己的解析器(或者在任何情况下调整现有的解析器)。如果您查看ts_debug的输出,那么您会看到它将下划线视为空格。

=> SELECT ts_debug('person_id');
                                 ts_debug                                  
---------------------------------------------------------------------------
 (asciiword,"Word, all ASCII",person,{english_stem},english_stem,{person})
 (blank,"Space symbols",_,{},,)
 (asciiword,"Word, all ASCII",id,{english_stem},english_stem,{id})
(3 rows)

这是在它被送入词典进行特定语言治疗之前发生的。

所以 - 你需要打破你的文本编辑器,在源代码中找到解析器并说服它应该像下面那样对待下划线。连字符或某些连字符)。如果你以前做过任何C,那不应该太糟糕。