假设您有一个表格movies
,其中包含以下VARCHAR
或TEXT
字段:
我想用postgresql编写查询以匹配这三个字段中任何一个的文本。但是,理想情况下,我想以非常模糊的方式进行搜索。例如:
Tron
匹配一个Tron
标题tron
匹配一个tron
标题The Tron
匹配一个Tron
标题Steven Lisberger
匹配一位Lisberger, Steven
作者commuter haker
与包含computer hacker
的描述相匹配。Tron Sci-Fi
来将Tron
标题与Sci-Fi movie
描述相匹配。因此,从本质上讲,我希望至少具有以下某些功能:
我知道它与postgresql full-text search类似,但使用了一些ispell集成而不是Levenshtein算法。但是它使用的语义向量取决于文本的语言环境,在我看来,这在某种程度上是一种反特征。我的电影记录可以用任何语言书写,我无法区分它们。此外,为了添加缺少的字典,我无权访问postgresql服务器配置。
因此,我想我希望进行类似全文搜索的操作,但要使用一种由模式词的独特的Levensthein等级与文本中任何单词匹配的即时Leversthein排序组成的即时矢量。 / p>
我知道这将是非常低效的,因此肯定不存在。但是我想得到一些意见,以便考虑一些替代或更好的方法。
此外,我也不想使用Elasticsearch。我可以妥协功能以简化应用程序堆栈。但是,出于好奇,我真的很想知道是否有可能这样做(以前从未使用过)。