2017-09-18 12 views

답변

7

내 자신의 문제에 기꺼이 대답합니다. 우선, Laravel Scout에 관한 문서를 이미 찾는 것이 정말 어렵습니다. 문자열 매개 변수로 검색 결과를 필터링하려는 경우. 답을 찾기 란 정말 어렵습니다. 전체 라이브러리를 라인 단위로 점검했습니다. 결과적으로, 결과는 나를 자랑스럽게 만들었습니다. 당신은 문자열 매개 변수를 사용하여 결과를 필터링하려면

당신의 당신이 Algolia를 사용하는 Posts 모델이 있고 열거를 가정 해 봅시다, 당신의 search() 방법에 콜백 함수를 설계하고 there.Simply에 FacetFilters에게을 주입 할 필요가 그것에 category 란을 타자를 치십시오. 아래 코드를 사용하여 블로그 게시물 검색 결과를 필터링 할 수 있습니다.

$post = Post::search($query, function ($algolia, $query, $options) use ($category){ 
    $new_options = []; 
    if (!is_null($type)) { 
     $new_options = ["facetFilters"=>"category_name:".$category]; 
    } 
    return $algolia->search($query, array_merge($options,$new_options)); 
}); 
+0

감사합니다. 이것은 정말로 나를 도왔다. 나는 이것에 관한 문서를 찾았다 고 말하고 싶다. https://www.algolia.com/doc/api-client/laravel/extending-scout/ –

+0

algolia에서 매크로를 유지 관리하는 패키지도 있습니다. https://github.com/algolia/laravel-scout-algolia-macros –