cfcollection 및 cfsearch를 처음 사용하는데, 실제로 해 보았습니다. 그런 다음 컬렉션을 삭제하고 작업을 멈 춥니 다. 그런 다음 컬렉션을 삭제하고 다시 시작하기로 결정했습니다. 컬렉션이 삭제되었지만 동일한 코드가 결과를 반환하지 않습니다.ColdFusion 콜렉션/검색이 채워지지 않습니다.
내 쿼리는 수집 및 후속 검색이 선택되어야하지만 내 기준에 와일드 카드 *를 지정한 경우에도 반환 된 검색이 비어있는 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를 사용하는 초보자입니다. 그것은 솔직하게 보였지만 나는 혼란 스럽습니다.
감사합니다. Mikey.
PS - CFWheels를 사용하고 있으므로 일부 CFWheels 특정 기능을 사용하고 있습니다. 이들은 무시할 수 있습니다.
하지 질문에 대한 답변,하지만 당신은 데이터 검색을 수행 할 때마다 인덱싱 할 수 없습니다. 인덱싱은 별도의 프로세스로 수행해야합니다. 대개 데이터베이스에서 항목을 추가/업데이트/삭제하거나 시스템에서 문서를 추가/업데이트/삭제할 때입니다. 컬렉션은 한 번만 만들어 져야하며 필요에 따라 컬렉션을 다시 작성해야합니다. –
@ Scott Stroz 감사합니다. 그래서, "create"가 현재 들어있는 조건 내에서 이것을 배치해야합니까? 따라서 존재하지 않는다면 생성하여 채 웁니다. 아니면 정상적으로 검색하면됩니까? 논리적으로 들립니다. 나는 이것에 관해 모두 새로운 것이다. 그러나 여전히 결과가 표시되지 않습니다. –
네, 그렇게 할 수 있습니다. 검색 컬렉션을 사용하면 삽입/업데이트/삭제 작업도 컬렉션을 업데이트하는지 확인합니다. 또한 콜렉션 및 재 인덱스를 제거하는 프로세스가 있습니다. 여기서 콜렉션이 존재하는지 확인하기 위해 콜렉션이 존재하는지 확인합니다. 콜렉션이 존재하지 않으면 생성하고 인덱스를 작성합니다. –