我正在调查http://code.google.com/p/django-fts/应用程序的工作原理。我正在尝试设置psql FTS以使用该应用程序,但无法理解如何正确创建索引。
不了解如何创建文档中指定的GIN索引。
我的模型如下:
class Product(fts.SearchableModel):
name = models.CharField(max_length = 1000)
description = models.TextField(blank = True)
在数据库中我有一个表store_product
但是当我在psql中运行以下内容时,出现错误:
base=# CREATE INDEX "store_product_index" ON "store_product" USING gin("name");
ERROR: 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.
你能帮我理解这里有什么问题吗?
答案 0 :(得分:2)
你需要:
CREATE INDEX "store_product_index" ON "store_product" USING gin(to_tsvector('english', "name"));
(假设你想要英文索引)。请参阅http://www.postgresql.org/docs/9.0/static/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX
文档中的第12.2.2节