이것은 cfsearch 사용에 대한 첫 번째 시도입니다. 아래 코드는 ColdFusion 10과 함께 개발 서버에서 작업하고 이전에 만든 컬렉션입니다.ColdFusion 10 Solr cfindex가 결과를 반환 한 후 cfsearch가 때때로 만
일관된 결과를 반환 할 수있는 유일한 방법은 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#">
'getTickCount()'함수를 사용하여 색인 새로 고치기를 완료하면 소요 시간을 확인할 수 있습니다. –
187 분의 1 초. –
그럼 나쁘지 않습니다. 나는 한동안 콜렉션을 사용하지 않았다. (그리고 그것은 Verity와 함께했다.) 그러나 나는 당신이 일반적으로 그 콜렉션의 각각의 쿼리를 가지고 당신의 콜렉션을 새로 고치기를 원한다고 생각하지 않는다. 저는 항상 이것을 두 개의 분리 된 과정으로 보았습니다. 컬렉션을 새로 고치는 예약 된 작업과 사용자가 정보를 쿼리 할 수있게 해주는 프런트 엔드 템플릿 아마 콜렉션을 사용한 경험이있는 다른 누군가가 여기에 뛰어들 것입니다. –