首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP全文搜索

PHP全文搜索
EN

Stack Overflow用户
提问于 2015-01-30 14:45:04
回答 3查看 3.2K关注 0票数 1

我希望使用PHP在给定字符串中执行全文搜索给定短语。

我希望这次搜索是:

  • 大小写不敏感
  • 例如,“Žluťoučk_ kůň”应与"Zlutoucky kun“相匹配。
  • 尽可能快
  • 独立于任何第三方图书馆(如果可能的话)

您能帮我吗?...I很抱歉创建了新的职位,我已经搜索了很多,在我要求之前。然而,我只找到了与PHP+MySQL搜索有关的帖子。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-30 14:56:42

您必须使用从字符串中删除diacritics,然后需要使用匹配

代码语言:javascript
复制
<?php
// The "i" after the pattern delimiter indicates a case-insensitive search
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}
?>

PHP文档:http://php.net/manual/en/ref.pcre.php

票数 1
EN

Stack Overflow用户

发布于 2019-12-09 10:39:49

与PHPpreg匹配相比,MYSQL全文搜索的工作方式是复杂的。例如,在MYSQL全文搜索中考虑使用止词

如果您只需要依赖PHP (而不是库),则需要进行一些开发。下面是是这样创建的一个流行的库。

票数 1
EN

Stack Overflow用户

发布于 2015-01-30 15:39:36

对于全文搜索,我知道两个常见的解决方案:

  1. 使用MYISAM全文索引http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html

因此,如果您有InnoDB表,则必须将可搜索的信息复制到MYISAM表(例如使用触发器)。

  1. 使用外部特殊搜索引擎。例如:
    • 狮身人面像http://sphinxsearch.com/
    • 弹性搜索http://www.elasticsearch.org/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28238323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档