Django: Как сделать полнотекстовый поиск по японскому языку (многобайтовые строки) в Postgresql
Можно создать индекс для поиска с помощью SearchVector, но Однако японские слова не разделяются пробелами, и полнотекстовый поиск не работает должным образом. Как можно выполнить полнотекстовый поиск на японском языке (многобайтовые строки символов)?
Я думал реализовать поисковую систему, например ElasticSearch, но возникли другие проблемы. Если возможно, я хотел бы сделать FTS с Postgres.
# 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'))
Посмотрите на расширение Postgres Pgroonga для полнотекстового поиска на всех языках. Оно используется в проекте Zulip с потрясающими результатами.