PostgreSQL解析URL的方法


Posted in PostgreSQL onAugust 02, 2021

尽管PostgreSQL中支持大量的数据类型,但是对于URL似乎并没有一个相应的类型能够去存储。那么对于URL的数据我们在数据库中要怎么去处理呢?

首先还是需要看你要存储的URL数据是用来干嘛的,如果仅仅只是为了在以后查询的时候打印输出,那么用varchar或者text之类的类型不是就可以了吗?

但是有的时候我们对于这些URL数据并不仅仅是简单的查询,我们可能希望通过这些URL能够查询一些额外的信息,例如URL的使用的协议、主机名等等。这里我们便可以使用ts_debug函数来进行解析了。

函数ts_debug允许简单地测试一个文本搜索配置。

ts_debug([ config regconfig, ] document text,
         OUT alias text,
         OUT description text,
         OUT token text,
         OUT dictionaries regdictionary[],
         OUT dictionary regdictionary,
         OUT lexemes text[])
         returns setof record

ts_debug为解析器在文本中标识的每一个记号返回一行。被返回的列是:

  • alias text : 记号类型的短名称
  • description text :记号类型的描述
  • token text : 记号的文本
  • dictionaries regdictionary[] : 配置为这种记号类型选择的词典
  • dictionary regdictionary : 识别该记号的词典,如果没有词典能识别则为NULL
  • lexemes text[] :
  • 识别该记号的词典产生的词位,如果没有词典能识别则为NULL;一个空数组({})表示该记号被识别为一个停用词

因此我们便可以通过下面的方式来对URL进行解析:

bill@bill=>SELECT
bill-#     alias
bill-#     ,description
bill-#     ,token
bill-# FROM ts_debug('https://blog.csdn.net/weixin_39540651');
  alias   |  description  |             token
----------+---------------+-------------------------------
 protocol | Protocol head | https://
 url      | URL           | blog.csdn.net/weixin_39540651
 host     | Host          | blog.csdn.net
 url_path | URL path      | /weixin_39540651
(4 rows)

参考链接:

https://stackoverflow.com/questions/41633436/datatype-for-a-url-in-postgresql
http://www.postgres.cn/docs/13/textsearch-debugging.html#TEXTSEARCH-CONFIGURATION-TESTING

到此这篇关于PostgreSQL解析URL的方法的文章就介绍到这了,更多相关PostgreSQL解析URL内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PostgreSQL 相关文章推荐
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
May 21 PostgreSQL
如何使用PostgreSQL进行中文全文检索
May 27 PostgreSQL
postgres之jsonb属性的使用操作
Jun 23 PostgreSQL
通过Qt连接OpenGauss数据库的详细教程
Jun 23 PostgreSQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
Jan 18 PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
PostgreSQL数据库创建并使用视图以及子查询
Apr 11 PostgreSQL
PostgreSQL出现死锁该如何解决
May 30 PostgreSQL
PostgreSQL逻辑复制解密原理解析
Sep 23 PostgreSQL
PostgreSQL之连接失败的问题及解决
May 08 PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 #PostgreSQL
浅谈PostgreSQL表分区的三种方式
通过Qt连接OpenGauss数据库的详细教程
postgres之jsonb属性的使用操作
Jun 23 #PostgreSQL
postgresql无序uuid性能测试及对数据库的影响
Jun 11 #PostgreSQL
如何使用PostgreSQL进行中文全文检索
May 27 #PostgreSQL
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
You might like
星际争霸中的对战模式介绍
2020/03/04 星际争霸
收集的DedeCMS一些使用经验
2007/03/17 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
vue 调用 RESTful风格接口操作
2020/08/11 Javascript
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python中的下划线详解
2015/06/24 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
Python上下文管理器全实例详解
2019/11/12 Python
Python爬虫与反爬虫大战
2020/07/30 Python
Python实现京东抢秒杀功能
2021/01/25 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
Lucene推荐的分页方式是什么?
2015/12/07 面试题
文秘专业自荐信
2013/10/14 职场文书
绩效工资分配方案
2014/01/18 职场文书
大学生职业规划书的范本
2014/02/18 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
财务部总监岗位职责
2014/03/12 职场文书
校园绿化美化方案
2014/06/08 职场文书
同意迁入证明模板
2014/10/26 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python