以编程方式使用Search API
问题:需要使用Search API以编程方式运行我自己的搜索。我发现的每个google结果都适合教给非开发人员如何将模块与Views一起使用,而没有按照我的意愿进行操作的结果。 信息: 使用本地数据库服务代替Solr或任何其他服务。 数据未存储在数据库中,将与其他结果一起显示。 内容将在“类型”选项卡中分组。 由于各种原因而不使用视图。 已启用Facets API,但也不知道如何使用它。 原因:因为我想让搜索页面位于/ site-search,并且在页面参数后没有/ node / keyword。还将要求自定义此功能,使其超出可能提供相同类型功能的其他模块的范围。而且我想学习如何执行此操作,但是还没有找到有关如何完成此操作的任何教程或其他见解。 剩下的:我已经创建了搜索页面,并在其上执行以下搜索: $term = $_SESSION['my-search']['term']; $server = search_api_server_load('database'); $index = search_api_index_load('default_node_index'); $query = new SearchApiQuery($index); $query->keys($term); $query->fields(array('title','body:value')); $srv= new SearchApiDbService($server); $result = $srv->search($query); 在提交搜索表单时设置会话变量,然后将用户重定向到/ site-search以执行搜索并显示结果。 如果我输出$ result,我会看到它是一个包含不同信息的数组,其中包括一个结果集,该结果集是节点ID及其分数的数组。 我可以遍历这些内容,抓取节点并自己显示结果,但我认为必须有其他方法来呈现搜索结果。我还没有找到,那就是问题所在。 我一直在搜索Search API和Facet API中的不同类,但在它们中找不到任何看起来像它们可以建立结果输出的东西。 任何帮助,将不胜感激。 结果示例: Array ( [result count] …