suchen

Heim  >  Fragen und Antworten  >  Hauptteil

PHP – Problem mit der MySQL-Fuzzy-Suche

Bitte sagen Sie mir, wie ich die folgenden Schlüsselwörter zuordnen kann

Zum Beispiel sind die Datenbankspeicherzeichen: sfsdf4-1bbsdfsd;

Wenn der Benutzer 41bb, 4 1bb eingibt, kann diese Zeichenfolge auch abgeglichen werden

Wie geht das?

Danke

为情所困为情所困2767 Tage vor780

Antworte allen(6)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-05-27 17:40:56

    你需要的不是 mysql 模糊搜索了吧。
    需要搜索引擎的支持。

    Antwort
    0
  • PHP中文网

    PHP中文网2017-05-27 17:40:56

    新建一个字段,存储去掉需要忽略的特殊字符后的字符串,比如 : sfsdf41bbsdfsd,查询的时候,也对关键字进行同样的操作,用新的字段去匹配

    Antwort
    0
  • ringa_lee

    ringa_lee2017-05-27 17:40:56

    MySQL 支持正则表达式搜索,例如
    SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

    Antwort
    0
  • 怪我咯

    怪我咯2017-05-27 17:40:56

    我觉得应该先处理用户提交的数据,以空格分割线分割用户提交的数据,组成一个数组,然后用这个数组中的数据进行模糊查询,之后取出相同的数据。。。但是在大量用户以此种方式查询的情况下,我认为你的系统会被拖得很慢很慢,所以不建议用这种设计模式

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-27 17:40:56

    题主的问题设置到分词搜索了,直接进行模糊搜索匹配不到的,使用正则表达式搜索的话效率太差,不推荐,而且场景太多了,自己开发实现的话,很难全部都考虑到.
    推荐使用一个搜索引擎吧,sphinx就很好用,对mysql的支持也很好.
    题主有php标签,如果常用php开发的话,用迅搜也很好,http://www.xunsearch.com/ 国人开发的,全中文的文档,用起来也很方便.

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-27 17:40:56

    用搜索引擎吧,人家就是专业干这个的

    Antwort
    0
  • StornierenAntwort