<p>我的数据库中有一个名称表,我希望对其进行模糊搜索,例如我的数据库包含:</p>
<pre><code>Name ID
John Smith 1
Edward Smith 2
Gabriel Gray 3
Paul Roberts 4
</code></pre>
<p>当我通过python搜索数据库时,我只能进行精确匹配搜索。但我希望能做模糊搜索,我可以搜索“史密斯”这个名字,并带回约翰·史密斯和爱德华·史密斯。在</p>
<p>最简单的形式是使用<code>LIKE</code>比较:</p>
<pre><code>SELECT * FROM table WHERE name LIKE '%smith%';
</code></pre>
<p>更精细的搜索可以用全文索引(大量文本)、<code>SOUNDEX()</code>(处理英语单词,匹配其他语言是从“有点可行”到“糟糕”)来完成的,levenshtein单词距离等</p>