Fea*_*Doe 8 postgresql parsing full-text-search emoji
我想创建一个全文搜索,接受查询上的表情符号,或其他类型的索引来搜索文本.例如,我有这个文本:Playa @CobolIquique h'和PostgreSQL在emojis上奇怪地解析它.
调试,使用SELECT * FROM ts_debug('english','Playa @CobolIquique h');我有以下结果:
我不知道为什么令牌被认为是空间符号.如果我调试解析器SELECT * FROM ts_parse('default', 'Playa @CobolIquique h');我只是得到相同的令牌和令牌类型ts_token_type('default')没有表情符号类型(或类似的东西).那么,我如何创建一个解析器来正确地将字符串与空格分开,并且不将emojis视为空格?或者如何创建可以在查询中使用表情符号的文本索引?
小智 1
要创建一个与默认解析器不同的新解析器,您应该是一名 C 程序员,并且应该编写自己的PostgreSQL 扩展。该扩展应定义以下功能:
start_function();
gettoken_function();
end_function();
lextypes_function();
headline_function(); // optional
Run Code Online (Sandbox Code Playgroud)
作为示例,您可以检查pg_tsparser模块。