全文搜索的索引列

Posted

技术标签:

【中文标题】全文搜索的索引列【英文标题】:Indexing column for full text search 【发布时间】:2013-05-13 08:56:20 【问题描述】:

我的列col 的数据类型为CHARACTER VARYING

我需要将该列索引为gin 索引。如果尝试直接设置 gin 索引到列,返回错误:

data type character varying has no default operator class for access method "gin" HINT: You must specify an operator class for the index or define a default operator class for the data type

如果尝试:

 create index col_vector 
 on mytable 
 using gin (to_tsvector(col))

我收到错误:functions in index expression must be marked IMMUTABLE

如何为CHARACTER VARYING 列创建gin 索引?

附言我需要这个进行全文搜索

【问题讨论】:

【参考方案1】:

试试这个代码:

CREATE INDEX "name " ON "tablename" USING gin(to_tsvector('english', "columnname"));

【讨论】:

解释如下:postgresql.org/docs/9.3/static/textsearch-tables.html

以上是关于全文搜索的索引列的主要内容,如果未能解决你的问题,请参考以下文章

为啥 SQL Server 全文搜索不匹配数字?

全文搜索之MySQL与ElasticSearch搜索引擎

Sql Server 数据库建全文搜索

mysql 全文模糊搜索MATCH AGAINST方法

SQL Server中的全文搜索

Lucene及全文搜索实现原理