통합 검색 결과의 순서를 바꿀 수 있을까요?
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
제 사이트에서 통합검색을 하게 되면 당연하게도
[제목+내용]으로 검색된 내용이 가장 우선적으로 뜨는데
[제목]으로만 검색된 결과가 먼저 나오게 하는 방법은 없을까요?
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
제 사이트에서 통합검색을 하게 되면 당연하게도
[제목+내용]으로 검색된 내용이 가장 우선적으로 뜨는데
[제목]으로만 검색된 결과가 먼저 나오게 하는 방법은 없을까요?
댓글 10
사용하시는 통합검색 스킨 폴더에 (일반적으로는) document.html 같은 파일이 있을 겁니다.
해당 파일에 $lang->is_search_option['document']라는 변수가 나오는 부분이 있을 텐데요.
1. 그 윗 줄쯤에
{@
$new_search_option = array_merge([
'title' => $lang->is_search_option['document']['title'],
], $lang->is_search_option['document']);
}
이라고 삽입해보시고요.
2. 좀 전에 찾았던 $lang->is_search_option['document'] 대신 $new_search_option로 변경해보세요.
우선 답변 정말 감사합니다!! :)
말씀해주신대로 변경하니까 [제목]이 앞으로 나오긴 했습니다!
다만, 실제 검색했을때는 사진처럼 여전히 [제목+내용]의 검색결과가 우선적으로 뜹니다!
그거는 애초에 통합검색 자체가 title이 아니라 title_content를 검색대상으로 지정하고 있기 때문이에요.
- 레이아웃에 포함되어 있는 통합검색 필드(name="search_target")에서 value를 title로 바꿔주셔야 하구요.
- 그리고 통합검색 스킨 자체에 들어 있는 통합검색 필드 등에서도 value를 title로 잡을 수 있도록 수정해야 할 겁니다.
(아래 기진곰님 댓글을 참고하세요)
마지막으로 사이트 전반적으로 통합검색 결과가 '제목' 우선이 되려면, 코어에서 integration_search.view.php 파일도 수정이 불가피합니다.
- 162행 : if(!in_array($search_target, array('title','content','title_content','tag'))) $search_target = 'title';
- 214행 : $output['document'] = $oIS->getDocuments($target, $module_srl_list, 'title', $is_keyword, $page, 5);
- 246행 : Context::set('search_target', 'title');
등으로 해주셔야 하는데, 코어 수정은 비추이긴 하죠.
현재 하시는 작업이 꼭 필요한 기능이라면 따로 애드온 등을 제작하시는 걸 추천합니다.
애드온 제작 의뢰 등이 어려우시다면, 가급적 이전 댓글에서 수정된 사항을 중심으로 운영하시는 게 좋을 것 같아요.
생각보다 굉장히 문제가 발생할 확률이 높아지겠군요..
그렇다면 우선은,
조언해주신대로 바꾸지 않고 다시 원래대로하면서 다른 방식으로 최대한 해결할 방법을 강구해보도록 하겠습니다!
답변 정말 감사드립니다!
코어 업데이트가 있어서 integration_search.view.php 파일을 덮어써야 하는 경우가 생긴다거나 하면 사이트 운영에 애로사항이 있을 수 있겠다? 그 정도긴 해요 :)
작은 애로 사항이더라도 그것을 수정하고 고치는 것이
약간 시간이 아까운 것 같아서 그냥 일단 이 사이트의 본질적인 컨텐츠들에만 좀더 집중하려구요!
그래서 우선은 원래대로 해보고 유저들한테서
직접적으로 그러한 개선사항을 요구하는 피드백이 오면 그렇게 수정해보려고 합니다!
도와주셔서 너무 감사드려요! :)
검색 폼 부분의 소스에다가 아래의 내용을 추가해 보세요.
만약 name="search_target"으로 되어 있는 태그가 이미 있다면 value만 "title"로 바꿔주세요.
<input type="hidden" name="search_target" value="title" />
제가 라이믹스를 잘아는 편이 아니라..
혹시 검색 폼 부분의 소스가 어떤 파일을 말씀하시는 것인지 알려주시면
바로 해당 내용추가해보겠습니다!
도와주셔서 너무 감사드립니다!
integration_search.view.php 를 말씀하시는 걸까용?
사용하시는 레이아웃이나 통합검색 스킨에서 검색어 입력하는 빈칸,
검색 버튼 등에 해당하는 소스가 어디에 있는지 찾아 보세요.
integration_search.view.php처럼 코어에 해당하는 부분은 신경쓰지 않아도 됩니다.
코어 수정을 요구하는 답변은 애초에 드리지 않으니까요.^^