2017-04-20 2 views
0

프로젝트에서 instantsearch.js와 함께 Algolia를 사용하여 검색을 수행하고 그 안에 범주와 내용을 표시합니다 (범주 페이지 및 검색 페이지는 Algolia에서 제공됨). 우리는 instantsearch.js를 사용하고 있습니다. v1은 cdn에서 왔습니다.Algolia에서 1000 개가 넘는 레코드를 표시하는 방법

우리의 주요 문제는 검색이 우리가 필요로하는 1000 개가 넘는 레코드를 제공하지 않는다는 것입니다.

정확히 이해한다면 browse() 메서드는 더 많은 결과를 제공하지만 instantsearch.js에서는 사용할 수 없습니다. https://www.algolia.com/doc/rest-api/search/#paginationlimitedto

그래서,이 설정하는 1000 개 이상의 레코드를 표시 할 수있는 것 : 또한

는 문서를 읽은 후, 나는 1000 개 이상의 레코드를 표시 허용 paginationLimitedTo라는 새로운 옵션이 있다는 걸 알게되었습니다.

1000 개가 넘는 레코드를 얻는 방법, 목표를 달성 할 수 있다면 instantsearch.js에서이 paginationLimitedTo 속성을 어떻게 설정합니까? 당분간 instantsearch.js를 빌드하거나 편집해야한다면 괜찮습니다. 사전에

감사합니다,

답변

3

paginationLimitedTo의 값을 변경하려면, 당신은 다음 client.initIndex(indexName)를 호출 수행하여 index를 얻을, 사용자 정의 client 객체를 생성해야하고

를 호출하여 설정을 변경합니다
index.setSettings({ 
    paginationLimitedTo: 1000 
}); 

설명서의 내용은 here 문서에서 확인할 수 있습니다.

우리는 우수한 성능을 보장하기 위해 기본값을 유지하는 것이 좋습니다

또한, 다음과 같은 기억하시기 바랍니다. 페이지 매김 제한을 늘리면 검색 쿼리의 성능에 직접적인 영향을 미칩니다. 너무 높은 값을 지정하면 누구나 전체 데이터 세트를 검색 ("다 쳤다") 쉽습니다.

+3

가에 추가, 사용자 정의 클라이언트 –

+0

@HaroenViaene & 가이 추가하는'options.createAlgoliaClient' https://community.algolia.com/instantsearch.js/documentation/#initialization을 사용할 수 있습니다 : 안녕하세요, 감사합니다 빠른 응답! 그러나 이렇게 설정하면 공개 API 키가 "메서드가이 API 키와 함께 허용되지 않습니다."라고 말하지만 관리자 키를 사용하면 작동합니다! 그리고 분명히 공개 Javascript 파일에서 내 관리 키를 사용하지 않을 것입니다. 다른 해결 방법은 무엇입니까? 내가 시도한 것의 요지는 다음과 같다 : https://gist.github.com/anonymous/d1171aa46a52e011d466e38c6b17aa4 – Arda

+3

'paginationLimitedTo' 설정은 쿼리 시간에 설정할 수 없으며, 관리 API 키를 사용하여'setSettings' 메소드를 통해 한 번 설정할 수 있습니다. 따라서 모든 쿼리가 아니라 한 번만 설정해야합니다. –

관련 문제