复杂的搜索功能。需要的建议

时间:2012-10-02 作者:Elixir

我有一个非常复杂的搜索功能,我想得到一些建议。

我需要在Wordpress中建立一个非常高级的自定义搜索,并想了解您对我如何实现它的意见。我已经搜索了很多当前的插件,但没有真正适合这个的。我还研究了如何创建自定义函数(function.php)

其工作原理如下:

在文本字段中输入关键字,然后可以将这些关键字添加到关键字“银行”

    一旦点击搜索按钮,我需要根据相关性显示结果。

    因此,最重要的结果是“匹配了4个过滤器:关键字、行业、国家和地区”;日期\'

    保存所有关键字的文本字段,3下拉选择字段,然后选择搜索按钮

我不认为这是在启动搜索之前存储用户给定的关键字列表的最佳方法。可能需要考虑其他选择。

希望到目前为止它是有意义的。

http://tinypic.com/r/33dwner/6

我对自定义wordpress的知识很好,但我以前从未创建过搜索。我想征求意见,以解决这一问题。

希望你能帮忙。

谢谢

1 个回复
SO网友:Nullvariable

有几种方法可以做到这一点。我曾经编写了一些扩展代码,将Apache Solr与WordPress search和BuddyPress集成在一起,这增加了很多功能。使用Apache Solr之类的工具,您可以自定义权重并做一些有趣的事情。Solr是一个成熟的搜索引擎,您需要为其运行服务器(或购买基于云的实例)。查看Solr for WordPress 插件作为一个起点,如果这似乎是一个好的路线为您。这里最大的负面影响是,你必须运行Solr,在它拥有你所需要的能力之前,你需要对它有所了解。然而,Solr所能做到的速度和复杂性会让您感到惊讶。

实现所需功能的下一个最强大的方法是使用$wpdb对象编写自己的搜索查询函数。这不是一个简单的选择,但最有可能产生您想要的结果。此选项的另一个警告是,您必须关注WordPress MySQL结构的更改,因为它可能会影响您的查询。从以下内容开始,然后需要研究MySQL连接,以便以您想要的方式获取所有查询:

global $wpdb;
$query = $wpdb->prepare("
  SELECT *
  FROM $wpdb->posts
  WHERE post_title LIKE %s
", $search); 
另一个更有限的解决方案是,您可以使用add\\u filter(\'posts\\u search\',\'my\\u custom\\u search\\u function\')构建一个过滤器,根据需要更改posts结果搜索,但这可能无法提供您所需的一切。

作为最终解决方案,您可以查看wp类型。com插件视图,看看它的查询构建功能是否适合您。我想一个自定义分类法和/或自定义字段(通过类型插件)可能可以在这里实现您的目标。

结束

相关推荐

Multiple Category Search

我正在尝试创建一个搜索功能,允许用户输入搜索词并选择几个类别。脚本可以很好地搜索单个类别,但当我添加多个类别时,我遇到了障碍。我的代码如下:<form method=\"get\" id=\"searchform\" action=\"<?php echo home_url(); ?>\"> <input type=\"text\" onclick=\"this.value=\'\';\" onfocus=\"this.select()\" onblur=\"