k-gram索引方法和标准python字符串方法在处理通配符查询方面的差异

k-gram索引方法和标准python字符串方法在处理通配符查询方面的差异,python,wildcard,information-retrieval,Python,Wildcard,Information Retrieval,k-gram方法在处理通配符查询时是如何脱颖而出的(从我在线阅读的内容来看,几乎每个研究所都在使用这种方法) 我知道,对于bi-gram,您将单词分解为bi字符序列,例如,mon*变成$m,mo,on(当然,您需要维护二级索引过帐),然后您和这些序列将返回满足and条件的单词的交点 但是简单的pythonstring.startswith(str)是否也会检查以str开头的术语是否比k-gram方法更简单(或者更好) 为了简单起见,我是否应该使用string.startswith(str) 感谢

k-gram方法在处理通配符查询时是如何脱颖而出的(从我在线阅读的内容来看,几乎每个研究所都在使用这种方法)

我知道,对于bi-gram,您将单词分解为bi字符序列,例如,
mon*
变成
$m
mo
on
(当然,您需要维护二级索引过帐),然后您和这些序列将返回满足and条件的单词的交点

但是简单的python
string.startswith(str)
是否也会检查以
str
开头的术语是否比k-gram方法更简单(或者更好)

为了简单起见,我是否应该使用
string.startswith(str)

感谢您的帮助。

str.startswith
将产生误报。以
状态
静止
为例,更不用说扫描一个大的问题空间了谢谢你的回答,是的,这可能是我没有想到的情况!但是对于k-gram索引,我们在哪一步为每个k-gram创建二级索引?当我们为每个术语建立标准的倒排索引时,它完成了吗?这是一种方法是的,将k-gram与它们匹配的记录索引关联起来