这是我第一次尝试使用 cfsearch。我在我的开发服务器上使用 ColdFusion 10 运行以下代码,以及我之前创建的一个集合。
我能让它返回一致结果的唯一方法是在 cfindex 和 cfsearch 之间放置一个“睡眠”。否则,搜索在 90% 的情况下都不会返回任何结果,有时会返回部分或全部结果。我的查询只有 3 条记录,并且集合已经过优化。
刷新集合很重要,因为这是一个经常更改的业务目录。
<form action="search.cfm" method="get">
<input type="text" name="searchFor">
<input type="submit" value="Search">
</form>
<cfquery name="qryData" datasource="#session.DataSource#">
SELECT biz_id, biz_name, biz_city, biz_state, biz_county
FROM biz
WHERE user_level > 0 AND user_level < 99
</cfquery>
<cfindex collection="mySearch" action="refresh" body="biz_name,biz_city,biz_state,biz_county" key="biz_id" query="qryData">
<cfset sleep(100)>
<cfsearch name="search" collection="mySearch" criteria="#url.searchFor#" maxrows="100">
<cfdump var="#search#">