2

我是使用 cfcollection 和 cfsearch 的新手,但我试了一下,它似乎奏效了。然后,我清除了集合,它停止工作。然后,我决定删除收藏并重新开始。集合删除得很好,但现在相同的代码不会返回任何结果。

我的查询返回了 5 个结果,集合和后续搜索应该拾取,但返回的搜索为空,即使我在条件中指定了通配符 *。

我下面的代码有什么问题吗?没有错误或任何东西,只是空白结果。

public void function ajax() { 

    param name="params.keywords" default="SoundCloud";

    onlyProvides("json");

    local.collectionPath = expandPath( "./" ) & "collections/";

    // Delete
    /*
    collection 
        action="delete" 
        collection="pincollection" 
        path="#local.collectionPath#";
    */

    collection 
        action="list" 
        name="local.collectionList";

    local.collectionList = valueList(collectionList.name);

    if ( ! listFind(local.collectionList, "pincollection") ) {

        collection 
            action="create" 
            collection="pincollection" 
            engine="solr" 
            categories="yes"
            path="#local.collectionPath#";

    }

    local.pins = model("pin").findAll(

        include     = "user", 
        order       = "createdat DESC"

    );

    index 
        collection="pincollection" 
        action="update" 
        type="custom" 
        title="title"
        body="description" 
        custom1="latitude"
        custom2="longitude"
        custom3="typeid"
        custom4="createdAt"
        custom5="updatedAt"
        query="local.pins"
        category="typeid"
        key="id";

    search 
        name="local.pinSearch" 
        collection="pincollection" 
        contextHighlightBegin="<strong>" 
        contextHighlightEnd="</strong>" 
        category="2,1" 
        maxrows="100"
        criteria="•";


    writeDump(var=local.pinSearch); // Empty search query.
    writeDump(var=local.pins, abort=true); // Original query returns 5 results.

    renderWith(data=local.pinSearch, layout=false);

}

我正在使用Railo。

我可以看到在我的收藏文件夹中,已为我的收藏创​​建了一个文件夹,但其中不包含任何文件。

我是使用 ColdFusion / Railo 进行搜索的新手。这似乎是直截了当的,但我很难过。

谢谢,米奇。

PS - 我正在使用 CFWheels,因此有一些 CFWheels 特定功能。这些可以忽略。

4

1 回答 1

0

在您对此进行故障排除之前,请考虑尽可能切换到专用的 Solr 服务器。9 年前,我们在 CF9 中迅速达到了 Solr 的极限,并使用 Shannon Hicks 的 CFSolrLib 项目连接到 Tomcat 上全新安装的 Solr。这样做的一些好处是:

  • 减少 CF 服务器的开销。
  • 索引性能提升。
  • 将搜索相关的故障排除与您的应用程序的其余部分(如您的情况)分开。
  • 您可以自由地独立更改/升级 Solr 服务器。

Shannon在github上的项目:https ://github.com/iotashan/cfsolrlib

MC

于 2013-09-12T19:00:25.450 回答