2016-08-24 3 views
2

알골 리아 검색을 내 사이트에서 구현하고 있으며 ID에 일치하는 데이터 세트를 가져 와서 검색에 보내고 싶습니다. 그래서 어떻게 둘 이상을 보낼 수 있는지 알아야합니다. 이 지금 작동하지 않는알골 리아 검색에 두 개 이상의 단어 보내기 검색

let client = algoliasearch(APP_ID, API_KEY), 
    index = client.initIndex(INDEX_NAME); 

let term=["3223212","2423434"]; 
    index.search(term, callback) 

, 어떤 생각을 가지고 검색에 매개 변수, 그래서 나는이 같은 ID의 설정, 뭔가를 보낼 수 있습니까? 또는 심지어 내가 어떻게 다른 골목을 사용하여 내 목표를 달성 할 수 feautre 필터링 예를 들면?

답변

8

objectID (데이터베이스가 id과 일치하도록 만들 때 수동으로 설정할 수 있음)로 개체를 검색하려는 경우 getObjects method을 사용하면됩니다. 문서에서

추출 : 당신이에 속하는 모든 레코드를 나열하려는 경우

index.getObjects(['myObj1', 'myObj2'], function(err, content) { 
    console.log(content); 
}); 

: 또한 일련의 객체를 검색 할 수 있습니다

특정 ID를 가진 그룹 인 경우이 ID를 포함하고 필터하는 use a facet을 사용할 수 있습니다. 색인 설정 내부

{ 
    "group_id": "3223212", 
    // or 
    "group_ids": ["3223212", "2423434"] 
} 

: 귀하의 기록 내부

쿼리시에

{ 
    attributesForFaceting: [ 
    'onlyFilter(group_id)' 
    ] 
} 

: 대답에 대한

let ids = ["3223212", "2423434"]; 
let filters = ids.map(id => `group_id:${id}`).join(' OR '); 
index.search('', { filters: filters }, callback); 
+0

덕분에, 난 그냥, 어떻게 하나 더 질문이 있습니다 'attributesForFaceting'설정을 지정할 수 있습니까? 나는 워드 프로세서를 읽고 있는데 자바 스크립트를 사용하는 것은 불가능한 것 같다. 대시 보드에서 할 수 있습니까? –

+1

또한 실제로 Dahsboard 내의 색인의 표시 탭에서 직접 설정할 수도 있습니다. 거기에는'onlyFilter'도 사용할 수 있습니다. 답안에 쓰여있는대로 입력해야합니다. – Jerska

+0

완벽하게 작동했습니다. –

관련 문제