{"kind": "fts", "major": "18", "item": {"slug": "template-synonym", "name": "synonym", "name_zh": "", "category": "\u8bcd\u5178\u6a21\u677f", "summary": "synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd", "aliases": [], "content_hash": "ba895d61da7a1cc4a54f1d601219f6cd76bd7e5c07aaab8ef4da7c2df253bf0f", "versions": {"10": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "catalog_fingerprint": "691be281b476dde4374d7f805b2bacc2e75bdef40f1e9d3d42e91f97fe95cfd0"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, {"url": "https://pg.center/docs/10/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 10 English manual", "sha256": "3ebf526b3637016bf4e286a1d8e6b999f02824f9df4e53a9df9afdd0a06dc83d", "language": "en", "original_url": "/docs/10/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/10/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/10/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes \n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes \n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/10/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector             \n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre></div>", "manual_path": "/docs/10/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/10/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "c0157f280c8667dde264cddda98e48a2fcb0694fe7a009e90c7c844e3e0c057c", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "synonym dictionary: replace word by its synonym", "/versions/10/facts/0/label": "Tmplname", "/versions/10/facts/1/label": "Tmplinit", "/versions/10/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "2025a1a19b1457e1bcca28cb25e8f22f4c90bd9c2d3ba399b984d8543dc47ee6"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "11": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "catalog_fingerprint": "8f21f4444b7f68923f4762af0eb7937fa2907026e91249483e79050de012c901"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, {"url": "https://pg.center/docs/11/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 11 English manual", "sha256": "64a862c0e84e4563364a0b25957c82ae3e7f368eb0631cb577a313b24dcf33c5", "language": "en", "original_url": "/docs/11/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/11/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/11/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes \n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes \n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/11/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector             \n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/11/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/11/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "d52d2e8077f1105a699bb46869e8b6a646c56eb3206e5486b6b8cf3a571ece59", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "synonym dictionary: replace word by its synonym", "/versions/11/facts/0/label": "Tmplname", "/versions/11/facts/1/label": "Tmplinit", "/versions/11/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "74ee9d416a57936f967dfc214d3211ab9a0da13eb83bb2c9159f0d6093cfceac"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "12": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "catalog_fingerprint": "9f857f4ee4875f9c7de6bfc9df4b757dec8b3a0bb88eadb519c7bd267bd56149"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, {"url": "https://pg.center/docs/12/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 12 English manual", "sha256": "df18f72cb6bf91875eaeb91ff94177f66f55f2f38fa460f5ba915845d73222fa", "language": "en", "original_url": "/docs/12/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/12/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/12/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes \n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes \n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/12/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector             \n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/12/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/12/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "eb039d3d941f91d46f2fbcbf543928e06f02b7a99611256dd78f53ef2b9c616f", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "synonym dictionary: replace word by its synonym", "/versions/12/facts/0/label": "Tmplname", "/versions/12/facts/1/label": "Tmplinit", "/versions/12/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "10a444d25565e4328c731586c2cc17ca2c50b1c6056eb92d4d55ef11b162e35d"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "13": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "catalog_fingerprint": "c7015c845255c9d721c547c8ab9ef37825d332588c9691d982e6906b7d571002"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, {"url": "https://pg.center/docs/13/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 13 English manual", "sha256": "617bc0fe217c1989535b72bb9d242cd58fa884b2dcad4c9c027392c653f94c04", "language": "en", "original_url": "/docs/13/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/13/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/13/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes \n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes \n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/13/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector             \n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/13/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/13/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "c7e699ef8c49c765eb3e1103893bd4f0d22be3cad4ebeecdb7963d868dab3d5c", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "synonym dictionary: replace word by its synonym", "/versions/13/facts/0/label": "Tmplname", "/versions/13/facts/1/label": "Tmplinit", "/versions/13/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "86dd8572b461e62d98605614930a7873b67a254cab83056e98d20d475835c31b"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "14": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "catalog_fingerprint": "b272e6a82e4c46efda81c3a6a4cdf7de6a83dfff7f02f226a392fbe9acdd3adb"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, {"url": "https://pg.center/docs/14/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 14 English manual", "sha256": "09da9246ae189f5e996c5d28d3219abd42110b6cfb7f40dc6de950ebad61bb3b", "language": "en", "original_url": "/docs/14/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/14/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/14/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes \n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes \n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/14/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector             \n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/14/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/14/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "c84d880a14dfc2f06213b03bb92f6231a135dda3dbb8ff8293fe8ec73b884851", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/14/description/0": "synonym dictionary: replace word by its synonym", "/versions/14/facts/0/label": "Tmplname", "/versions/14/facts/1/label": "Tmplinit", "/versions/14/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "64c0dfcfbed97313804515e5bb48348bf84d1f662fd92af236469cfbadbc4d4b"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "15": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "catalog_fingerprint": "fefe3c425147a86defada190c9b0663cfe02caa1724f5dede93e46457572252d"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, {"url": "https://pg.center/docs/15/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 15 English manual", "sha256": "2c07a3e6c2c585346fb28f44631ec3ddcd6a53d5c16c4bf7946ff8b51534929a", "language": "en", "original_url": "/docs/15/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/15/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/15/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes\n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes\n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/15/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector\n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/15/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/15/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "8ea2b1afa7f5da82bd0045f7479243d49615c62e9fa9b70f6068353416581409", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/15/description/0": "synonym dictionary: replace word by its synonym", "/versions/15/facts/0/label": "Tmplname", "/versions/15/facts/1/label": "Tmplinit", "/versions/15/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "8ca21b60ed4bf1c9b91d865cbaa0ef87431efd4f32a940436196855235255c99"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "16": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "catalog_fingerprint": "fa133458dc8f52e15083b4f59b7a582e2e378b608d3ac5c53054df458a374e23"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, {"url": "https://pg.center/docs/16/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 16 English manual", "sha256": "3a688880061676fa9389d35ac677baa2030b0a624a0c3a62c8d3f4cb2b9170d1", "language": "en", "original_url": "/docs/16/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/16/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/16/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes\n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes\n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/16/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector\n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/16/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/16/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "430a0ff98acc6b0bec92c2b77ff50493ea5328b5eccce1bc0f4991a53ac16ddf", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/16/description/0": "synonym dictionary: replace word by its synonym", "/versions/16/facts/0/label": "Tmplname", "/versions/16/facts/1/label": "Tmplinit", "/versions/16/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "9d02a8c325501d9f99f4230a9e19c6fbfbb6cf6c7cbf9a8ce7694018a0e6715b"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "17": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "catalog_fingerprint": "4bbe3ac77becd618478f66aec420a533e9017be356c5c1d51a4b17f0fd497c07"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, {"url": "https://pg.center/docs/17/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 17 English manual", "sha256": "989f1a5af7ab9dfa2a07c1a2aefcdc2eddc889a3438d45eb94f1b2933b953fa6", "language": "en", "original_url": "/docs/17/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/17/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/17/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes\n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes\n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/17/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector\n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/17/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/17/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "9ae724601e3e21dc17e22f93fdf7cb7ec6676cf9c7146d94abffd816534cd171", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/17/description/0": "synonym dictionary: replace word by its synonym", "/versions/17/facts/0/label": "Tmplname", "/versions/17/facts/1/label": "Tmplinit", "/versions/17/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "a419791e9f4235bd9e5a1fa86bfae7bf74c6a6958d02c1cc8f5eaa807818d33c"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "18": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "catalog_fingerprint": "65c93d6048ef30e61023a84f9680fa6a92b1c383b7eb226741170077eb078502"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "https://pg.center/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 18 English manual", "sha256": "736b212545d12542777fa6d106bbf5b159fe5617123a208d36a8a572130c3fa6", "language": "en", "original_url": "/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/18/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes\n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes\n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/18/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector\n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/18/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "afe47fea3be000f5266417ceecb464ae02e5dc05e02d8d38976bd9fcf2d84563", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "synonym dictionary: replace word by its synonym", "/versions/18/facts/0/label": "Tmplname", "/versions/18/facts/1/label": "Tmplinit", "/versions/18/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "c8df892173f6a53bf8f44ad286d2efe79940297c25811395aa6954a3d71c0c3b"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "19": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "catalog_fingerprint": "62fbf1a3689dbe8bf7e6b3372cfe6fbf867581427b3858a94c8419b77a4d2d1d"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, {"url": "https://pg.center/docs/19/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 19 English manual", "sha256": "cf8d1204d2952cb7b89b234f1c4f2c9c19cfa5c5a81108be7108815002f2c593", "language": "en", "original_url": "/docs/19/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/19/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/19/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes\n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes\n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/19/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector\n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/19/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/19/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "c867ceccebd59d165b0d78a4b0c0307529ac3bc90c9183020b322507ce0e1870", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/19/description/0": "synonym dictionary: replace word by its synonym", "/versions/19/facts/0/label": "Tmplname", "/versions/19/facts/1/label": "Tmplinit", "/versions/19/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "0a39a4bacdc45f821adee30b0948d75d0793a9ded9e01b333e9fe3c46f85f76e"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "20": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "catalog_fingerprint": "398fbb9f262264053c02fbf79f88be0a6770c1473faa6ecd5931d6ec41b8258b", "source_snapshot_utc": "26-Sep-2026 20:22"}, "sources": [{"url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, {"url": "https://pg.center/docs/devel/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 20 English manual", "sha256": "38c6f6073ed98b8e321cad040c89265f00a6fe755aa68f0f1a28a1ad1457c9c0", "language": "en", "original_url": "/docs/devel/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/devel/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/devel/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes\n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes\n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/devel/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector\n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/devel/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/devel/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "682603a92eb3390ca6eef864d76a77272216806e918815781321c56df0c777a3", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/summary": "synonym dictionary: replace word by its synonym", "/category": "Dictionary templates", "/versions/20/description/0": "synonym dictionary: replace word by its synonym", "/versions/20/facts/0/label": "Tmplname", "/versions/20/facts/1/label": "Tmplinit", "/versions/20/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "621d9525b5f3b804c28635d73c4cca71e138897ffacdfff2997ad4498baa6d4d"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}}}, "snapshot": {"facts": [{"label": "\u6a21\u677f\u540d\u79f0\uff08tmplname\uff09", "value": "synonym"}, {"label": "\u521d\u59cb\u5316\u51fd\u6570\uff08tmplinit\uff09", "value": "dsynonym_init"}, {"label": "\u8bcd\u6cd5\u5316\u51fd\u6570\uff08tmpllexize\uff09", "value": "dsynonym_lexize"}], "tables": [], "aliases": [], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "catalog_fingerprint": "65c93d6048ef30e61023a84f9680fa6a92b1c383b7eb226741170077eb078502"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "https://pg.center/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "path": "textsearch-dictionaries.html", "label": "PostgreSQL 18 English manual", "sha256": "736b212545d12542777fa6d106bbf5b159fe5617123a208d36a8a572130c3fa6", "language": "en", "original_url": "/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY"}], "sections": [], "signature": "", "attributes": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "description": ["synonym \u8bcd\u5178\uff1a\u7528\u540c\u4e49\u8bcd\u66ff\u6362\u5355\u8bcd"], "manual_html": "<div class=\"sect2\" id=\"TEXTSEARCH-SYNONYM-DICTIONARY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h3 class=\"title\" lang=\"zh\"><span class=\"sect2\"><a href=\"/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY\">12.6.3. \u540c\u4e49\u8bcd\u8bcd\u5178</a></span></h3>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u8fd9\u4e2a\u8bcd\u5178\u6a21\u677f\u7528\u4e8e\u521b\u5efa\u628a\u4e00\u4e2a\u5355\u8bcd\u66ff\u6362\u4e3a\u540c\u4e49\u8bcd\u7684\u8bcd\u5178\u3002\u4e0d\u652f\u6301\u77ed\u8bed\uff08\u5bf9\u6b64\u8bf7\u4f7f\u7528\u5206\u7c7b\u8bcd\u5178\u6a21\u677f<a class=\"xref\" href=\"/docs/18/textsearch-dictionaries.html#TEXTSEARCH-THESAURUS\" title=\"12.6.4.\u00a0\u5206\u7c7b\u8bcd\u5178\">\u7b2c\u00a012.6.4\u00a0\u8282</a>\uff09\u3002\u540c\u4e49\u8bcd\u8bcd\u5178\u53ef\u4ee5\u7528\u6765\u514b\u670d\u8bed\u8a00\u5b66\u4e0a\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u9632\u6b62\u82f1\u8bed\u8bcd\u5e72\u5206\u6790\u8bcd\u5178\u628a<span class=\"quote\">\u201c<span class=\"quote\">Paris</span>\u201d</span>\u7ea6\u7b80\u6210<span class=\"quote\">\u201c<span class=\"quote\">pari</span>\u201d</span>\u3002\u53ea\u8981\u5728\u540c\u4e49\u8bcd\u8bcd\u5178\u4e2d\u52a0\u5165\u4e00\u884c <code class=\"literal\">Paris paris</code>\uff0c\u5e76\u628a\u8be5\u8bcd\u5178\u653e\u5728 <code class=\"literal\">english_stem</code> \u8bcd\u5178\u4e4b\u524d\u5373\u53ef\u3002\u4f8b\u5982\uff1a</p>\n<pre class=\"screen\">SELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |  dictionaries  |  dictionary  | lexemes\n-----------+-----------------+-------+----------------+--------------+---------\n asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari}\n\nCREATE TEXT SEARCH DICTIONARY my_synonym (\n    TEMPLATE = synonym,\n    SYNONYMS = my_synonyms\n);\n\nALTER TEXT SEARCH CONFIGURATION english\n    ALTER MAPPING FOR asciiword\n    WITH my_synonym, english_stem;\n\nSELECT * FROM ts_debug('english', 'Paris');\n   alias   |   description   | token |       dictionaries        | dictionary | lexemes\n-----------+-----------------+-------+---------------------------+------------+---------\n asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris}\n</pre>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8981\u6c42\u7684\u552f\u4e00\u53c2\u6570\u662f<code class=\"literal\">SYNONYMS</code>\uff0c\u5b83\u662f\u5176\u914d\u7f6e\u6587\u4ef6\u7684\u57fa\u540d \u2014 \u4e0a\u4f8b\u4e2d\u7684<code class=\"literal\">my_synonyms</code>\u3002\u8be5\u6587\u4ef6\u7684\u5b8c\u6574\u540d\u79f0\u5c06\u662f<code class=\"filename\">$SHAREDIR/tsearch_data/my_synonyms.syn</code>\uff08\u5176\u4e2d<code class=\"literal\">$SHAREDIR</code>\u8868\u793a<span class=\"productname\">PostgreSQL</span>\u5b89\u88c5\u7684\u5171\u4eab\u6570\u636e\u76ee\u5f55\uff09\u3002\u8be5\u6587\u4ef6\u683c\u5f0f\u662f\u6bcf\u884c\u4e00\u4e2a\u8981\u88ab\u66ff\u6362\u7684\u8bcd\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u540c\u4e49\u8bcd\uff0c\u7528\u7a7a\u767d\u5206\u9694\u3002\u7a7a\u884c\u548c\u7ed3\u5c3e\u7684\u7a7a\u683c\u4f1a\u88ab\u5ffd\u7565\u3002</p>\n<p lang=\"zh\"><code class=\"literal\">synonym</code>\u6a21\u677f\u8fd8\u6709\u4e00\u4e2a\u53ef\u9009\u53c2\u6570<code class=\"literal\">CaseSensitive</code>\uff0c\u9ed8\u8ba4\u503c\u4e3a<code class=\"literal\">false</code>\u3002\u5f53<code class=\"literal\">CaseSensitive</code>\u4e3a<code class=\"literal\">false</code>\u65f6\uff0c\u540c\u4e49\u8bcd\u6587\u4ef6\u4e2d\u7684\u8bcd\u4f1a\u50cf\u8f93\u5165\u8bcd\u5143\u4e00\u6837\u6298\u53e0\u4e3a\u5c0f\u5199\u3002\u5f53\u5b83\u4e3a<code class=\"literal\">true</code>\u65f6\uff0c\u8bcd\u548c\u8bcd\u5143\u90fd\u4e0d\u4f1a\u88ab\u6298\u53e0\u4e3a\u5c0f\u5199\uff0c\u800c\u662f\u6309\u539f\u6837\u6bd4\u8f83\u3002</p>\n<p lang=\"zh\">\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u628a\u661f\u53f7\uff08<code class=\"literal\">*</code>\uff09\u653e\u5728\u540c\u4e49\u8bcd\u672b\u5c3e\uff0c\u8868\u793a\u8be5\u540c\u4e49\u8bcd\u662f\u4e00\u4e2a\u524d\u7f00\u3002\u5f53\u8be5\u6761\u76ee\u7528\u4e8e <code class=\"function\">to_tsvector()</code> \u65f6\uff0c\u661f\u53f7\u4f1a\u88ab\u5ffd\u7565\uff1b\u4f46\u5f53\u5b83\u7528\u4e8e <code class=\"function\">to_tsquery()</code> \u65f6\uff0c\u7ed3\u679c\u5c06\u662f\u4e00\u4e2a\u5e26\u6709\u524d\u7f00\u5339\u914d\u6807\u8bb0\u7684\u67e5\u8be2\u9879\uff08\u89c1<a class=\"xref\" href=\"/docs/18/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES\" title=\"12.3.2.\u00a0\u89e3\u6790\u67e5\u8be2\">\u7b2c\u00a012.3.2\u00a0\u8282</a>\uff09\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u5728 <code class=\"filename\">$SHAREDIR/tsearch_data/synonym_sample.syn</code> \u4e2d\u6709\u4ee5\u4e0b\u6761\u76ee\uff1a</p>\n<pre class=\"programlisting\">postgres        pgsql\npostgresql      pgsql\npostgre pgsql\ngogle   googl\nindices index*\n</pre>\n<p lang=\"zh\">\u90a3\u4e48\u5c06\u5f97\u5230\u5982\u4e0b\u7ed3\u679c\uff1a</p>\n<pre class=\"screen\">mydb=# CREATE TEXT SEARCH DICTIONARY syn (template=synonym, synonyms='synonym_sample');\nmydb=# SELECT ts_lexize('syn', 'indices');\n ts_lexize\n-----------\n {index}\n(1 row)\n\nmydb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple);\nmydb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn;\nmydb=# SELECT to_tsvector('tst', 'indices');\n to_tsvector\n-------------\n 'index':1\n(1 row)\n\nmydb=# SELECT to_tsquery('tst', 'indices');\n to_tsquery\n------------\n 'index':*\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector;\n            tsvector\n---------------------------------\n 'are' 'indexes' 'useful' 'very'\n(1 row)\n\nmydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices');\n ?column?\n----------\n t\n(1 row)\n</pre>\n</div>", "manual_path": "/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY", "localization": {"status": "complete", "sources": [{"url": "/docs/18/textsearch-dictionaries.html", "method": "same-major semantic node", "sha256": "afe47fea3be000f5266417ceecb464ae02e5dc05e02d8d38976bd9fcf2d84563", "language": "zh", "matched_nodes": ["#TEXTSEARCH-DICTIONARIES/div[14]/p[1]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[3]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[4]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[5]", "#TEXTSEARCH-DICTIONARIES/div[14]/p[7]", "#TEXTSEARCH-DICTIONARIES/div[1]/dl[0]/dt[2]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "synonym dictionary: replace word by its synonym", "/versions/18/facts/0/label": "Tmplname", "/versions/18/facts/1/label": "Tmplinit", "/versions/18/facts/2/label": "Tmpllexize"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "c8df892173f6a53bf8f44ad286d2efe79940297c25811395aa6954a3d71c0c3b"}, "comparison_data": {"tmplinit": "dsynonym_init", "tmplname": "synonym", "tmpllexize": "dsynonym_lexize"}, "comparison_hash": "01c20906081775fc96faef281e0dd79723c3780554b4aa04d12402789f7a198e", "manual_language": "zh"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}