我是使用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的特定功能。这些可以忽略。
在进行故障排除之前,如果可以的话,请考虑切换到专用的Solr服务器。几年前,我们在CF9中很快达到了Solr的极限,并使用Shannon Hicks的CFSolrLib项目连接到Tomcat上的Solr新安装。这其中的一些好处是:
- 减少CF服务器的开销
- 索引性能提升
- 将与搜索相关的疑难解答与应用程序的其他部分分离开来(就像您的情况一样)
- 您可以独立地对Solr服务器进行更改/升级
Shannon在github上的项目:https://github.com/iotashan/cfsolrlib
MC