从通用文本中的表中搜索关键字

时间:2018-04-20 14:24:36

标签: postgresql full-text-search keyword keyword-search tsvector

我创建了一个包含关键字列表和标识同义词的代码的表。即具有相同代码的所有关键字都被视为相同的关键字。 git commit -m "OMT-1270 Adding missing translations"

我想构建一个返回给定文本中找到的关键字列表的查询。

例如,以下文本(只是一个示例)应该返回数组:[C1001,C1003]。

varchar varchar tsvector C1000 AI 'ai':1 C1000 Artificial intelligence 'artifici':1 'intellig':2 C1001 Algorithms 'algorithm':1 C1002 Software Design 'design':2 'softwar':1 C1003 ui design 'design':2 'ui':1 C1003 User interface design 'design':3 'interfac':2 'user':1 C1003 user interface engineering 'engin':3 'interfac':2 'user':1

有没有办法用postgres查询或自定义函数来做?

2 个答案:

答案 0 :(得分:0)

您可以使用朴素贝叶斯分类器算法。它是文本分类最强大的算法。从here

了解详情

答案 1 :(得分:0)

您可以将文本转换为矢量,将关键字转换为查询,然后检查矢量是否与查询匹配

ExternalProject_Add