我想在桌面上执行全文搜索(FTS)。问题是tsvector删除了单词中的下划线(例如:person_id成为person和id)。我在哪里可以配置它将使用下划线?
Ty提前的家伙
答案 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,那不应该太糟糕。