알고 계신대로 where()
문을 사용하면 검색 방법 후에 numericFilter
이 사용됩니다. 문자열 필터링을 사용하여 검색 결과를 필터링하려고합니다.Laravel Scout에서 FacetFilters로 검색 하시겠습니까?
검색 문장에서 어떻게 패싯 필터를 사용할 수 있습니까?
알고 계신대로 where()
문을 사용하면 검색 방법 후에 numericFilter
이 사용됩니다. 문자열 필터링을 사용하여 검색 결과를 필터링하려고합니다.Laravel Scout에서 FacetFilters로 검색 하시겠습니까?
검색 문장에서 어떻게 패싯 필터를 사용할 수 있습니까?
내 자신의 문제에 기꺼이 대답합니다. 우선, 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));
});
감사합니다. 이것은 정말로 나를 도왔다. 나는 이것에 관한 문서를 찾았다 고 말하고 싶다. https://www.algolia.com/doc/api-client/laravel/extending-scout/ –
algolia에서 매크로를 유지 관리하는 패키지도 있습니다. https://github.com/algolia/laravel-scout-algolia-macros –