MySQL全文搜索中的通配符搜索

哈利34

如何使用全文搜索在MySQL中进行查询,以便获得如下所示的结果:

尼特人团结一致,而oogle得到谷歌


正如我们可以使用LIKE运算符一样: %nited and %oogle

雕刻师

不幸的是,您无法使用MySQL全文索引执行此操作。您不能'*nited states'立即从索引中检索,因为左字符是索引中最重要的部分。但是,您可以搜索'United Sta*'

// the only possible wildcard full-text search in MySQL
WHERE MATCH(column) AGAINST ('United Sta*' IN BOOLEAN MODE)

当搜索句子中的整个单词时,MySQL的全文本性能最好-甚至有时会很烂。否则,我建议使用外部全文引擎,例如SolrSphinx我认为Sphinx允许使用前缀和后缀通配符,而对其他不确定。

您可以返回MySQL的LIKE子句,但是再次运行诸如LIKE '%nited states'或的查询LIKE '%nited Stat%'也会降低性能,因为它不能使用前几个字符的索引。'United Sta%'并且'Unit%States'可以,因为索引可以用于第一堆已知字符。

使用MySQL的全文本索引的另一个非常重要的警告是停用词列表和最小词长设置例如,在共享主机环境中,您将被限制为大于或等于4个字符的单词。因此,搜索“ Goo”以获取“ Google”将失败。停用词列表也不允许使用常见的词,例如“和”,“也许”和“外部”-实际上,总共有548个停用词!同样,如果不使用共享主机,则相对容易修改这些设置,但是如果您使用共享托管,则会对某些默认设置感到恼火。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

全文搜索的ContainsTable中的通配符

来自分类Dev

MySQL全文搜索与通配符的相关性

来自分类Dev

Backand中的MySQL全文搜索

来自分类Dev

带有全文搜索通配符的MySql MyIsam表

来自分类Dev

InnoDB中的MySQL全文搜索错误

来自分类Dev

MySQL-全文搜索

来自分类Dev

优化MySQL全文搜索

来自分类Dev

我可以在Elasticsearch中结合使用通配符搜索和全文搜索吗?

来自分类Dev

简单的搜索页面PHP MySQL全文搜索

来自分类Dev

数组中的通配符搜索

来自分类Dev

MySQL对JSON数据的全文搜索

来自分类Dev

MySQL全文搜索和评分

来自分类Dev

重音敏感全文搜索 (MySQL)

来自分类Dev

PHP中的全文本搜索

来自分类Dev

PHP全文搜索在elasticsearch中

来自分类Dev

sql中的全文搜索条件

来自分类Dev

MySQL全文搜索主题标签(包括索引中的#符号)

来自分类Dev

MySQL全文搜索主题标签(包括索引中的#符号)

来自分类Dev

全文搜索不适用于mysql中的varchar

来自分类Dev

在MySQL中的JSON字段上进行全文搜索

来自分类Dev

PHP从MySQL全文搜索中突出显示多项结果

来自分类Dev

Neo4j Cypher:在Lucene全文搜索中处理空白和通配符

来自分类Dev

Neo4j Cypher:在Lucene全文搜索中处理空格和通配符

来自分类Dev

使用通配符在notepad ++中搜索

来自分类Dev

VBA中的通配符字典搜索

来自分类Dev

用通配符在postgresql中搜索

来自分类Dev

使用通配符在notepad ++中搜索

来自分类Dev

PYMYSQL 搜索中的 SQL 通配符

来自分类Dev

Teradata 中的 LIKE 通配符搜索