Django:如何在 Postgresql 中对日语(多字节字符串)进行全文搜索

Django: How to do full-text search for Japanese (multibyte strings) in Postgresql

可以使用 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'))

查看 Pgroonga 用于所有语言全文搜索的 Postgres 扩展。它被 Zulip 项目使用并取得了惊人的效果。