0

我正在使用以下代码来显示我的搜索结果

<c:if test="${!empty param.SearchName}">
    <h1>Results for "${fn:escapeXml(param.SearchName)}"</h1>
    <ol>
        <cmsu:simpleSearch query="${param.SearchName}" var="results" startLevel="1" />
        <c:if test="${empty results}">
            <p>No results could be found</p>
        </c:if>
        <c:forEach var="node" items="${results}">
            <li>
                <span class="pageTitle"><a href="${pageContext.request.contextPath}${node.handle}.html">${node.title}</a></span>

                <a href="${pageContext.request.contextPath}${node.handle}.html"><p class="snipet"><cmsu:searchResultSnippet query="${fn:escapeXml(param.SearchName)}" page="${node}" chars="120"/></p></a>
            </li>
        </c:forEach>
    </ol>
</c:if>

它在 Author 实例中运行良好,但由于某种原因,在公共实例中返回的结果集始终为空。

条件总是返回真。

知道这个问题来自哪里吗?

在此先感谢,A。

4

1 回答 1

0

Danilo Ghirardelli 提出了两个可能是问题根源的想法:

  1. 公共实例中的权限问题。匿名用户的读取权限和/或在没有匿名访问权限的存储库中进行查询搜索。
  2. 公共实例上的索引已损坏,您可能必须重新生成它们。停用并重新激活整个网站可能会解决此问题。

在检查了这些可能性之后:

  1. 匿名用户的权限是正确的。
  2. 我停用并重新激活了整个网站,它确实成功了!

    • 比第 2 点更好的解决方案是:

3.a 在作者实例的管理面板中,从“The-Insider”根页面导出所有页面

3.b 在公共实例的管理面板中,删除所有页面

3.c 在公共实例的管理面板中,激活“The-Insider”根页面上的更改

3.d 在公共实例的管理面板中,导入您在步骤 3.a 中生成的 xml 文件

一个。

于 2011-09-21T11:21:30.530 回答