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
postgresql无序uuid性能测试及对数据库的影响
Jun 11 PostgreSQL
关于PostgreSQL JSONB的匹配和交集问题
Sep 14 PostgreSQL
PostGIS的安装与入门使用指南
Jan 18 PostgreSQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
Jan 18 PostgreSQL
Oracle配置dblink访问PostgreSQL的操作方法
Mar 21 PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
PostgreSQL数据库去除重复数据和运算符的基本查询操作
Apr 12 PostgreSQL
PostgreSQL基于pgrouting的路径规划处理方法
Apr 18 PostgreSQL
PostgreSQL常用字符串分割函数整理汇总
Jul 07 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
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
JS 动态加载脚本的4种方法
2009/05/05 Javascript
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
锋利的jQuery 第三章章节总结的例子
2010/03/23 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
javascript实现行拖动的方法
2015/05/27 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
python实现ip查询示例
2014/03/26 Python
python中关于for循环的碎碎念
2017/06/30 Python
Python3数字求和的实例
2019/02/19 Python
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
机房搬迁方案
2014/05/01 职场文书
论文诚信承诺书
2014/05/23 职场文书
教师求职自荐书
2014/06/14 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
教师网络培训心得体会
2016/01/09 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang