用mysql LIKE语句最佳匹配(自然科学匹配)

你好,我想搜索的表用不一样的全文SERCH.iS有任何笏做从表中得到最佳匹配?

--------------解决方案-------------

如果你问的全文搜索与排序的结果按相关性则是有解决方案的。但它的不平凡。 这些是更多的'企业级的解决方案:

Solr的 - http://lucene.apache.org/solr/

Solr的是流行的,速度极快的开源企业级搜索来自Apache Lucene项目的平台。 其主要功能包括强大的全文搜索,命中突出,面搜索,动态集群,数据库集成和丰富的文档(如Word中,PDF)的处理。 Solr的是高度可扩展,提供分布式搜索和索引复制,它支持许多世界上最大的互联网网站的搜索和导航功能。

狮身人面像 - http://sphinxsearch.com/

一般情况下,它是一个独立的搜索引擎,旨在为客户提供快捷,规模效益和有关全文检索功能的其他应用程序。 狮身人面像被专门设计用于与SQL数据库和脚本语言以及集成。 目前内置的数据源支持读取数据或者通过直接连接到MySQL或PostgreSQL,或使用XML管道机制(一个管道,索引器在特殊的基于XML的格式,狮身人面像识别)。

这是不可能的,以帮助缩小了正确的解决方案,不知道更多关于你的系统和局限性。

这是你在​​找什么?

SELECT username FROM users WHERE username LIKE '%value%';

做到这一点的步骤:

一个。 先来看看一个精确匹配(SELECT * FROM业务,其中name =“价值”)

如果失败,则:

湾 搜索字符串分割成的话,运行查询的每个单词(每个单词添加结果到一个数组,其中最关键的是该行的ID和值的相关性,每个字中增加针对性1,那么你可以简单地排序的数组(即最字匹配=最高的相关性)

B是非常inneficient,真的,你应该使用全文(无论是MySQL的内置全文或斯芬克斯/ Lucene的等如上所述)

分类:php 时间:2015-03-15 人气:3
本文关键词: PHP和MySQL
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.257 (s). 10 q(s)