gpt4 book ai didi

mysql - "Fuzzier"在mysql中搜索

转载 作者:可可西里 更新时间:2023-11-01 08:34:10 25 4
gpt4 key购买 nike

我的客户在看到我在他的网站中编写的搜索功能后,要求我将其变得“更模糊”,这意味着它应该更通用——大概是为了返回更多的搜索结果。

我不清楚如何做到这一点。目前,对于每个部分,我都在数据库中的表(每一列)中搜索一个值 LIKE 搜索查询。

给我的案例是这样的:

表格中有一行 complexname 的值为“Larae's Corner”,但搜索“Larae”不会返回它作为结果。

据我所知,检查表中每一行的每一列值是否有任何类似搜索查询的内容是任何人都可能得到的“模糊”。

谁能帮我解决这个问题?我在这里寻找概念。我需要更详细地了解搜索的工作原理,而不仅仅是 LIKE...

提前致谢!

最佳答案

看看 MySQL 的 full text search functions .与其natural language searches ,这可能足以满足您的需求。 InnoDB 从 MySQL 5.6 开始支持全文搜索(之前只有 MyISAM 表有此功能)。

如果这还不够,您可能需要一个专用的搜索工具,例如 Apache Solr (或者,如果您正在使用 Java 并希望直接与 Solr 的底层搜索引擎交互,Apache Lucene)。其他受欢迎的选择包括 elasticsearch (它也在其引擎盖下使用 Lucene)和 Sphinx .

搜索引擎内部工作的关键部分是 stemming ,这duffymo mentioned in his answer .

编辑:

这是索引兼容的列表 Lucene implementations in different languages .

关于mysql - "Fuzzier"在mysql中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18186665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com