全文搜索仅匹配某些单词?

Phi*_*all 7 c sql sqlite

我最近开始使用SqLite,所以我比较新.我正在尝试使用全文搜索功能来查找聊天机器人的粗略匹配.基本上我想匹配尽可能多的关键字,但不一定全部匹配.结果应根据短语中找到的关键字数量以及它们与查询的排序程度进行排序.换句话说,排序不一定是精确的,但越接近,结果应该排名越高.类似地,即使发现短语中只有一个或两个单词,它应该匹配,但是在存在的单词中越多,排名越高.我已经阅读了参考文献,我看到了NEAR语句和matchinfo函数,以及如何使用它的示例,但我无法弄清楚如何将这些知识应用于我的具体问题.有没有人有什么建议?

在此先感谢您的帮助.

Phi*_*all 1

最近有人告诉我,这在 SqLite 邮件列表上是不可能的。我最接近的解决方案是像搜索引擎一样去除停用词,并使用波特词干分析器算法进一步概括查询。首先搜索完整的关键字集(自然没有标点符号和类似的关键字),然后搜索应用词干提取的同一组关键字,然后搜索相同的关键字集但删除了停用词,最后搜索这个相同的删除了词干提取的子集应用后,似乎给出了从最好到最差的合理近似。当然,一旦找到一些匹配项,上面链中后续的更一般的查询就不会被执行。