ColdFusion集合/搜索将不会填充

时间:2013-08-23 00:29:01

标签: coldfusion coldfusion-9 railo

我是使用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。

我可以看到,在我的collections文件夹中,已经创建了我的集合的文件夹,但是这不包含任何文件。

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

谢谢, MIKEY。

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

1 个答案:

答案 0 :(得分:0)

在对此进行故障排除之前,请考虑切换到专用的Solr服务器。我们很快在CF9中遇到了Solr的极限,并使用Shannon Hicks的CFSolrLib项目连接到Tomcat上的Solr全新安装。其中一些好处是:

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

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

MC