- Mastering PostgreSQL 10
- Hans Jürgen Sch?nig
- 254字
- 2021-06-30 19:04:00
Debugging your search
Sometimes, it is not quite clear why a query matches a given search string. To debug your query, PostgreSQL offers the ts_debug function. From a user's point of view, it can be used just like to_tsvector. It reveals a lot about the inner workings of the FTS infrastructure:
test=# \x Expanded display is on.
test=# SELECT * FROM ts_debug('english', 'go to www.postgresql-support.de');
-[ RECORD 1 ]+----------------------------
alias | asciiword description | Word, all ASCII token | go dictionaries | {english_stem}
dictionary | english_stem
lexemes | {go} -[ RECORD 2 ]+----------------------------
alias | blank description | Space symbols
token | dictionaries | {}
dictionary |
lexemes | -[ RECORD 3 ]+----------------------------
alias | asciiword description | Word, all ASCII token | to dictionaries | {english_stem}
dictionary | english_stem
lexemes | {} -[ RECORD 4 ]+----------------------------
alias | blank description | Space symbols
token | dictionaries | {}
dictionary |
lexemes | -[ RECORD 5 ]+---------------------------- alias | host
description | Host token | www.postgresql-support.de
dictionaries | {simple} dictionary | simple lexemes | {www.postgresql-support.de}
ts_debug will list every token found and display information about the token. You will see which token the parser found, the dictionary used, as well as the type of object. In my example, blanks, words, and hosts have been found. You might also see numbers, email addresses, and a lot more. Depending on the type of string, PostgreSQL will handle things differently. For example, it makes absolutely no sense to stem hostnames and e-mail addresses.
推薦閱讀
- 零起步輕松學單片機技術(第2版)
- Big Data Analytics with Hadoop 3
- 樂高機器人:WeDo編程與搭建指南
- Google Cloud Platform Cookbook
- 基于LPC3250的嵌入式Linux系統開發
- TestStand工業自動化測試管理(典藏版)
- Mastering D3.js
- 大數據改變世界
- 工業機器人工程應用虛擬仿真教程:MotoSim EG-VRC
- SharePoint 2010開發最佳實踐
- CompTIA Network+ Certification Guide
- Spark大數據技術與應用
- Java Web整合開發全程指南
- Linux服務與安全管理
- Hadoop應用開發基礎