【发布时间】:2021-05-18 07:51:35
【问题描述】:
我有自己的非英语词典,其中包含 CSV 格式的单词,其中每一行代表一个单词。一行以单词的基本形式开头,然后是其所有变形形式。
我想使用该文件创建自己的字典,供 FULLTEXT 搜索使用。
我更喜欢将 MySQL 与 FULLTEXT 搜索一起使用,但如果无法将 MySQL 与自定义字典一起使用,那么我可以将我的项目切换到 PostgreSQL 或 MariaDB。
如何让 MySQL 或其他 RDBMS 使用自定义字典进行 FULLTEXT 搜索? 如果有一个解决方案也适用于 SQLite,这样它也可以部署到移动应用程序中,那就太好了。
到目前为止,我发现相关链接不幸没有说明如何做到这一点:
MySQL Stemming for full-text 状态:未分配
如果使用这些 RDBMS 中的任何一个都无法使用引理字典进行 FULLTEXT 搜索,我认为应该可以为 PostgreSQL 创建至少一个词干字典作为其扩展,但我还没有为 PostgreSQL 做任何扩展并且不要不知道从哪里开始,尤其是在为 FULLTEXT 搜索创建自己的字典的上下文中。
【问题讨论】:
-
您可以在 Postgres 中使用 hunspell 字典:github.com/postgrespro/hunspell_dicts - 我认为 .affix 文件是支持词干提取所需的文件。要启用它们,您实际上并不需要构建扩展。将文件复制到正确的目录后,据我所知,您只需要运行
create dictionary。这也可能会有所帮助:github.com/EvanCarroll/pg_hunspell
标签: mysql postgresql dictionary stemming lemmatization