Skip to content

Commit 7f544ae

Browse files
author
chegong18
committed
update textsearch.sgml-200701
——row1019至1021,调英为: to hold the output of <function>to_tsvector</function>. To keep this column automatically up to date with its source data, use a stored generated column. This example is a ——row1050,调翻为: 另一种方法是创建一个单独的<type>tsvector</type>列来保存<function>to_tsvector</function>的输出。若要使此列与其源数据保持自动更新,用存储生成的列。这个例子是<literal>title</literal>和<literal>body</literal>的连接,使用<function>coalesce</function>来保证当其他域为<literal>NULL</literal>时一个域仍然能留在索引中: ——row1027至1029,调英为: ALTER TABLE pgweb ADD COLUMN textsearchable_index_col tsvector GENERATED ALWAYS AS (to_tsvector('english', coalesce(title, '') || ' ' || coalesce(body, ''))) STORED; ——row1053至1055,调翻为: ALTER TABLE pgweb ADD COLUMN textsearchable_index_col tsvector GENERATED ALWAYS AS (to_tsvector('english', coalesce(title, '') || ' ' || coalesce(body, ''))) STORED; ——row1074,删英和翻为: <!--==========================orignal english content========================== <para> When using a separate column to store the <type>tsvector</type> representation, it is necessary to create a trigger to keep the <type>tsvector</type> column current anytime <literal>title</literal> or <literal>body</literal> changes. <xref linkend="textsearch-update-triggers"/> explains how to do that. </para> ____________________________________________________________________________--> <para> 在使用一个单独的列来存储<type>tsvector</type>表示时,有必要创建一个触发器在<literal>title</literal>或<literal>body</literal>改变时保证<type>tsvector</type>列为当前值。<xref linkend="textsearch-update-triggers"/>解释了怎样去做。 </para> ——row3151至3162,增英和翻为: <note> <!--==========================orignal english content========================== <para> The method described in this section has been obsoleted by the use of stored generated columns, as described in <xref linkend="textsearch-tables-index"/>. </para> ____________________________________________________________________________--> <para> 本节中描述的方法已被使用存储生成的列所淘汰,如 <xref linkend="textsearch-tables-index"/>中所述。 </para> </note> ——row6497至6506,增英和翻为: <!--==========================orignal english content========================== <para> A GiST index can be covering, i.e. use the <literal>INCLUDE</literal> clause. Included columns can have data types without any GiST operator class. Included attributes will be stored uncompressed. </para> ____________________________________________________________________________--> <para> GiST 索引可以被覆盖,例如使用<literal>INCLUDE</literal>子句。 包含的列可以具有没有任何 GiST 操作符类的数据类型。 包含的属性将非压缩存储。 </para> ——row6722至6746,调英为: List of text search dictionaries Schema | Name | Description -&minus;-&minus;-&minus;-&minus;-&minus;-&minus;+-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-+-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;- pg_catalog | arabic_stem | snowball stemmer for arabic language pg_catalog | danish_stem | snowball stemmer for danish language pg_catalog | dutch_stem | snowball stemmer for dutch language pg_catalog | english_stem | snowball stemmer for english language pg_catalog | finnish_stem | snowball stemmer for finnish language pg_catalog | french_stem | snowball stemmer for french language pg_catalog | german_stem | snowball stemmer for german language pg_catalog | hungarian_stem | snowball stemmer for hungarian language pg_catalog | indonesian_stem | snowball stemmer for indonesian language pg_catalog | irish_stem | snowball stemmer for irish language pg_catalog | italian_stem | snowball stemmer for italian language pg_catalog | lithuanian_stem | snowball stemmer for lithuanian language pg_catalog | nepali_stem | snowball stemmer for nepali language pg_catalog | norwegian_stem | snowball stemmer for norwegian language pg_catalog | portuguese_stem | snowball stemmer for portuguese language pg_catalog | romanian_stem | snowball stemmer for romanian language pg_catalog | russian_stem | snowball stemmer for russian language pg_catalog | simple | simple dictionary: just lower case and check for stopword pg_catalog | spanish_stem | snowball stemmer for spanish language pg_catalog | swedish_stem | snowball stemmer for swedish language pg_catalog | tamil_stem | snowball stemmer for tamil language pg_catalog | turkish_stem | snowball stemmer for turkish language ——row6754至6778,调翻为: List of text search dictionaries Schema | Name | Description -&minus;-&minus;-&minus;-&minus;-&minus;-&minus;+-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-+-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;- pg_catalog | arabic_stem | snowball stemmer for arabic language pg_catalog | danish_stem | snowball stemmer for danish language pg_catalog | dutch_stem | snowball stemmer for dutch language pg_catalog | english_stem | snowball stemmer for english language pg_catalog | finnish_stem | snowball stemmer for finnish language pg_catalog | french_stem | snowball stemmer for french language pg_catalog | german_stem | snowball stemmer for german language pg_catalog | hungarian_stem | snowball stemmer for hungarian language pg_catalog | indonesian_stem | snowball stemmer for indonesian language pg_catalog | irish_stem | snowball stemmer for irish language pg_catalog | italian_stem | snowball stemmer for italian language pg_catalog | lithuanian_stem | snowball stemmer for lithuanian language pg_catalog | nepali_stem | snowball stemmer for nepali language pg_catalog | norwegian_stem | snowball stemmer for norwegian language pg_catalog | portuguese_stem | snowball stemmer for portuguese language pg_catalog | romanian_stem | snowball stemmer for romanian language pg_catalog | russian_stem | snowball stemmer for russian language pg_catalog | simple | simple dictionary: just lower case and check for stopword pg_catalog | spanish_stem | snowball stemmer for spanish language pg_catalog | swedish_stem | snowball stemmer for swedish language pg_catalog | tamil_stem | snowball stemmer for tamil language pg_catalog | turkish_stem | snowball stemmer for turkish language
1 parent 94b9457 commit 7f544ae

File tree

1 file changed

+57
-32
lines changed

1 file changed

+57
-32
lines changed

postgresql/doc/src/sgml/textsearch.sgml

Lines changed: 57 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@ ____________________________________________________________________________-->
515515
<para>
516516
前两种我们已经见过。形式<type>text</type> <literal>@@</literal> <type>tsquery</type>等价于<literal>to_tsvector(x) @@ y</literal>。形式<type>text</type> <literal>@@</literal> <type>text</type>等价于<literal>to_tsvector(x) @@ plainto_tsquery(y)</literal>。
517517
</para>
518-
518+
519519
<!--==========================orignal english content==========================
520520
<para>
521521
Within a <type>tsquery</type>, the <literal>&amp;</literal> (AND) operator
@@ -1016,15 +1016,17 @@ CREATE INDEX pgweb_idx ON pgweb USING GIN(to_tsvector('english', title || ' ' ||
10161016
<!--==========================orignal english content==========================
10171017
<para>
10181018
Another approach is to create a separate <type>tsvector</type> column
1019-
to hold the output of <function>to_tsvector</function>. This example is a
1019+
to hold the output of <function>to_tsvector</function>. To keep this
1020+
column automatically up to date with its source data, use a stored
1021+
generated column. This example is a
10201022
concatenation of <literal>title</literal> and <literal>body</literal>,
10211023
using <function>coalesce</function> to ensure that one field will still be
10221024
indexed when the other is <literal>NULL</literal>:
10231025

10241026
<programlisting>
1025-
ALTER TABLE pgweb ADD COLUMN textsearchable_index_col tsvector;
1026-
UPDATE pgweb SET textsearchable_index_col =
1027-
to_tsvector('english', coalesce(title,'') || ' ' || coalesce(body,''));
1027+
ALTER TABLE pgweb
1028+
ADD COLUMN textsearchable_index_col tsvector
1029+
GENERATED ALWAYS AS (to_tsvector('english', coalesce(title, '') || ' ' || coalesce(body, ''))) STORED;
10281030
</programlisting>
10291031

10301032
Then we create a <acronym>GIN</acronym> index to speed up the search:
@@ -1045,12 +1047,12 @@ LIMIT 10;
10451047
</para>
10461048
____________________________________________________________________________-->
10471049
<para>
1048-
另一种方法是创建一个单独的<type>tsvector</type>列来保存<function>to_tsvector</function>的输出。这个例子是<literal>title</literal>和<literal>body</literal>的连接,使用<function>coalesce</function>来保证当其他域为<literal>NULL</literal>时一个域仍然能留在索引中:
1050+
另一种方法是创建一个单独的<type>tsvector</type>列来保存<function>to_tsvector</function>的输出。若要使此列与其源数据保持自动更新,用存储生成的列。这个例子是<literal>title</literal>和<literal>body</literal>的连接,使用<function>coalesce</function>来保证当其他域为<literal>NULL</literal>时一个域仍然能留在索引中:
10491051

10501052
<programlisting>
1051-
ALTER TABLE pgweb ADD COLUMN textsearchable_index_col tsvector;
1052-
UPDATE pgweb SET textsearchable_index_col =
1053-
to_tsvector('english', coalesce(title,'') || ' ' || coalesce(body,''));
1053+
ALTER TABLE pgweb
1054+
ADD COLUMN textsearchable_index_col tsvector
1055+
GENERATED ALWAYS AS (to_tsvector('english', coalesce(title, '') || ' ' || coalesce(body, ''))) STORED;
10541056
</programlisting>
10551057

10561058
然后我们创建一个<acronym>GIN</acronym>索引来加速搜索:
@@ -1070,19 +1072,6 @@ LIMIT 10;
10701072
</programlisting>
10711073
</para>
10721074

1073-
<!--==========================orignal english content==========================
1074-
<para>
1075-
When using a separate column to store the <type>tsvector</type>
1076-
representation,
1077-
it is necessary to create a trigger to keep the <type>tsvector</type>
1078-
column current anytime <literal>title</literal> or <literal>body</literal> changes.
1079-
<xref linkend="textsearch-update-triggers"/> explains how to do that.
1080-
</para>
1081-
____________________________________________________________________________-->
1082-
<para>
1083-
在使用一个单独的列来存储<type>tsvector</type>表示时,有必要创建一个触发器在<literal>title</literal>或<literal>body</literal>改变时保证<type>tsvector</type>列为当前值。<xref linkend="textsearch-update-triggers"/>解释了怎样去做。
1084-
</para>
1085-
10861075
<!--==========================orignal english content==========================
10871076
<para>
10881077
One advantage of the separate-column approach over an expression index
@@ -1523,7 +1512,7 @@ SELECT plainto_tsquery('english', 'The Fat &amp; Rats:C');
15231512

15241513
这里,所有输入的标点都被作为空间符号并且丢弃。
15251514
</para>
1526-
1515+
15271516
<!--==========================orignal english content==========================
15281517
<indexterm>
15291518
<primary>phraseto_tsquery</primary>
@@ -2601,7 +2590,7 @@ ____________________________________________________________________________-->
26012590
</varlistentry>
26022591

26032592
</variablelist>
2604-
2593+
26052594
<!--==========================orignal english content==========================
26062595
<para>
26072596
A full list of <type>tsvector</type>-related functions is available
@@ -2706,7 +2695,7 @@ ____________________________________________________________________________-->
27062695
</listitem>
27072696

27082697
</varlistentry>
2709-
2698+
27102699
<varlistentry>
27112700

27122701
<!--==========================orignal english content==========================
@@ -3159,6 +3148,19 @@ ____________________________________________________________________________-->
31593148
<secondary>用于更新一个派生的 tsvector 列</secondary>
31603149
</indexterm>
31613150

3151+
<note>
3152+
<!--==========================orignal english content==========================
3153+
<para>
3154+
The method described in this section has been obsoleted by the use of
3155+
stored generated columns, as described in <xref
3156+
linkend="textsearch-tables-index"/>.
3157+
</para>
3158+
____________________________________________________________________________-->
3159+
<para>
3160+
本节中描述的方法已被使用存储生成的列所淘汰,如 <xref linkend="textsearch-tables-index"/>中所述。
3161+
</para>
3162+
</note>
3163+
31623164
<!--==========================orignal english content==========================
31633165
<para>
31643166
When using a separate column to store the <type>tsvector</type> representation
@@ -5110,7 +5112,7 @@ ____________________________________________________________________________-->
51105112
<para>
51115113
Ispell 词典通常识别一个有限集合的词,这样它们后面应该跟着另一个更广义的词典;例如,一个 Snowball 词典,它可以识别所有东西。
51125114
</para>
5113-
5115+
51145116
<!--==========================orignal english content==========================
51155117
<para>
51165118
The <filename>.affix</filename> file of <application>Ispell</application> has the following
@@ -5247,7 +5249,7 @@ SELECT ts_lexize('norwegian_ispell', 'sjokoladefabrikk');
52475249
{sjokoladefabrikk,sjokolade,fabrikk}
52485250
</programlisting>
52495251
</para>
5250-
5252+
52515253
<!--==========================orignal english content==========================
52525254
<para>
52535255
<application>MySpell</application> format is a subset of <application>Hunspell</application>.
@@ -6431,7 +6433,7 @@ ____________________________________________________________________________-->
64316433
</para>
64326434
</listitem>
64336435
</varlistentry>
6434-
6436+
64356437
<varlistentry>
64366438

64376439
<term>
@@ -6492,6 +6494,17 @@ ____________________________________________________________________________-->
64926494
一个 GiST 索引是<firstterm>有损的</firstterm>,这表示索引可能产生假匹配,并且有必要检查真实的表行来消除这种假匹配(<productname>PostgreSQL</productname>在需要时会自动做这一步)。GiST 索引之所以是有损的,是因为每一个文档在索引中被表示为一个定长的签名。该签名通过哈希每一个词到一个 n 位串中的一个单一位来产生,通过将所有这些位 OR 在一起产生一个 n 位的文档签名。当两个词哈希到同一个位位置时就会产生假匹配。如果查询中所有词都有匹配(真或假),则必须检索表行查看匹配是否正确。
64936495
</para>
64946496

6497+
<!--==========================orignal english content==========================
6498+
<para>
6499+
A GiST index can be covering, i.e. use the <literal>INCLUDE</literal>
6500+
clause. Included columns can have data types without any GiST operator
6501+
class. Included attributes will be stored uncompressed.
6502+
</para>
6503+
____________________________________________________________________________-->
6504+
<para>
6505+
GiST 索引可以被覆盖,例如使用<literal>INCLUDE</literal>子句。 包含的列可以具有没有任何 GiST 操作符类的数据类型。 包含的属性将非压缩存储。
6506+
</para>
6507+
64956508
<!--==========================orignal english content==========================
64966509
<para>
64976510
Lossiness causes performance degradation due to unnecessary fetches of table
@@ -6706,24 +6719,30 @@ ____________________________________________________________________________-->
67066719
List text search dictionaries (add <literal>+</literal> for more detail).
67076720
<screen>
67086721
=&gt; \dFd
6709-
List of text search dictionaries
6710-
Schema | Name | Description
6722+
List of text search dictionaries
6723+
Schema | Name | Description
67116724
-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;+-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-+-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-&minus;-
6725+
pg_catalog | arabic_stem | snowball stemmer for arabic language
67126726
pg_catalog | danish_stem | snowball stemmer for danish language
67136727
pg_catalog | dutch_stem | snowball stemmer for dutch language
67146728
pg_catalog | english_stem | snowball stemmer for english language
67156729
pg_catalog | finnish_stem | snowball stemmer for finnish language
67166730
pg_catalog | french_stem | snowball stemmer for french language
67176731
pg_catalog | german_stem | snowball stemmer for german language
67186732
pg_catalog | hungarian_stem | snowball stemmer for hungarian language
6733+
pg_catalog | indonesian_stem | snowball stemmer for indonesian language
6734+
pg_catalog | irish_stem | snowball stemmer for irish language
67196735
pg_catalog | italian_stem | snowball stemmer for italian language
6736+
pg_catalog | lithuanian_stem | snowball stemmer for lithuanian language
6737+
pg_catalog | nepali_stem | snowball stemmer for nepali language
67206738
pg_catalog | norwegian_stem | snowball stemmer for norwegian language
67216739
pg_catalog | portuguese_stem | snowball stemmer for portuguese language
67226740
pg_catalog | romanian_stem | snowball stemmer for romanian language
67236741
pg_catalog | russian_stem | snowball stemmer for russian language
67246742
pg_catalog | simple | simple dictionary: just lower case and check for stopword
67256743
pg_catalog | spanish_stem | snowball stemmer for spanish language
67266744
pg_catalog | swedish_stem | snowball stemmer for swedish language
6745+
pg_catalog | tamil_stem | snowball stemmer for tamil language
67276746
pg_catalog | turkish_stem | snowball stemmer for turkish language
67286747
</screen>
67296748
</para>
@@ -6732,24 +6751,30 @@ ____________________________________________________________________________-->
67326751
列出文本搜索词典(加上<literal>+</literal>得到更多细节)。
67336752
<screen>
67346753
=&gt; \dFd
6735-
List of text search dictionaries
6736-
Schema | Name | Description
6754+
List of text search dictionaries
6755+
Schema | Name | Description
67376756
------------+-----------------+-----------------------------------------------------------
6757+
pg_catalog | arabic_stem | snowball stemmer for arabic language
67386758
pg_catalog | danish_stem | snowball stemmer for danish language
67396759
pg_catalog | dutch_stem | snowball stemmer for dutch language
67406760
pg_catalog | english_stem | snowball stemmer for english language
67416761
pg_catalog | finnish_stem | snowball stemmer for finnish language
67426762
pg_catalog | french_stem | snowball stemmer for french language
67436763
pg_catalog | german_stem | snowball stemmer for german language
67446764
pg_catalog | hungarian_stem | snowball stemmer for hungarian language
6765+
pg_catalog | indonesian_stem | snowball stemmer for indonesian language
6766+
pg_catalog | irish_stem | snowball stemmer for irish language
67456767
pg_catalog | italian_stem | snowball stemmer for italian language
6768+
pg_catalog | lithuanian_stem | snowball stemmer for lithuanian language
6769+
pg_catalog | nepali_stem | snowball stemmer for nepali language
67466770
pg_catalog | norwegian_stem | snowball stemmer for norwegian language
67476771
pg_catalog | portuguese_stem | snowball stemmer for portuguese language
67486772
pg_catalog | romanian_stem | snowball stemmer for romanian language
67496773
pg_catalog | russian_stem | snowball stemmer for russian language
67506774
pg_catalog | simple | simple dictionary: just lower case and check for stopword
67516775
pg_catalog | spanish_stem | snowball stemmer for spanish language
67526776
pg_catalog | swedish_stem | snowball stemmer for swedish language
6777+
pg_catalog | tamil_stem | snowball stemmer for tamil language
67536778
pg_catalog | turkish_stem | snowball stemmer for turkish language
67546779
</screen>
67556780
</para>

0 commit comments

Comments
 (0)