排名时,文档内容是否取决于SQLite FTS5?

排名时,文档内容是否取决于SQLite FTS5?,sqlite,ranking,fts5,Sqlite,Ranking,Fts5,下面是两个例句 (1) 一年之内,微软将MS-DOS许可给70多家其他公司。它被设计成可以在任何8086家庭电脑上运行的操作系统 (2) 一年之内,微软将MS-DOS许可证转让给70多家其他公司。它被设计成可以在任何8086家庭电脑上运行的操作系统。每台计算机都有自己独特的硬件和自己的MS-DOS版本 当搜索Microsoft作为输入搜索文本时,(1)的排名高于(2),因为(1)的内容较低 当搜索许可证作为输入搜索文本时,最佳匹配在(2)中。由于(1)的内容小于(2),因此将为(1)输出更高的排

下面是两个例句

(1) 一年之内,微软将MS-DOS许可给70多家其他公司。它被设计成可以在任何8086家庭电脑上运行的操作系统

(2) 一年之内,微软将MS-DOS许可证转让给70多家其他公司。它被设计成可以在任何8086家庭电脑上运行的操作系统。每台计算机都有自己独特的硬件和自己的MS-DOS版本

当搜索Microsoft作为输入搜索文本时,(1)的排名高于(2),因为(1)的内容较低

当搜索许可证作为输入搜索文本时,最佳匹配在(2)中。由于(1)的内容小于(2),因此将为(1)输出更高的排名


有没有什么方法可以在不查看内容的情况下获得精确匹配的排名?有什么解决方案吗?

您使用的是BM25吗?是的,我使用的是BM25()。默认的排名方法是BM25(),对吗?有没有其他方法可以在不参考内容的情况下获得排名?你说的“默认”是什么意思?显示您正在使用的实际查询。这是一个查询:从FullTextSearchTable中选择column1,rank,其中FullTextSearchTable按秩匹配“serchText*”ORDER BY rank>所有FTS5表都有一个名为“rank”的特殊隐藏列。如果当前查询不是全文查询(即,如果不包含匹配运算符),“rank”列的值始终为空。否则,在全文查询中,列rank默认包含与执行bm25()辅助函数(不带尾随参数)返回的值相同的值。