1

これは、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#">
4

1 に答える 1