Django:如何在 Postgresql 中对日语(多字节字符串)进行全文搜索
Posted
技术标签:
【中文标题】Django:如何在 Postgresql 中对日语(多字节字符串)进行全文搜索【英文标题】:Django: How to do full-text search for Japanese (multibyte strings) in Postgresql 【发布时间】:2021-12-16 17:14:56 【问题描述】:可以使用 SearchVector 创建用于搜索的索引,但是 但是,日文单词没有空格分隔,全文检索无法正常工作。 如何在日文(多字节字符串)中进行全文搜索?
我想过实现一个搜索引擎,例如 ElasticSearch,但出现了其他问题。 如果可能的话,我想用 Postgres 做 FTS。
# models.py
class Post(models.Model):
title = models.CharField(max_length=300)
search = SearchVectorField(null=True)
class Meta:
indexes = [GinIndex(fields=["search"])]
# update search column
Post.objects.update(search=SearchVector('title'))
【问题讨论】:
【参考方案1】:查看Pgroonga Postgres 扩展以进行所有语言的全文搜索。 Zulip 项目使用它并取得了惊人的效果。
【讨论】:
以上是关于Django:如何在 Postgresql 中对日语(多字节字符串)进行全文搜索的主要内容,如果未能解决你的问题,请参考以下文章
如何在 postgresql 中对 json 类型使用唯一约束
如何在 Postgresql 中对 JSONB 数组中的值求和?