Extra Form
PHP PHP 7.4
CMS Rhymix 2.1

제 사이트에서 통합검색을 하게 되면 당연하게도

 

[제목+내용]으로 검색된 내용이 가장 우선적으로 뜨는데

[제목]으로만 검색된 결과가 먼저 나오게 하는 방법은 없을까요?

 

스크린샷 2024-04-16 오후 8.21.54.png

  • profile

    사용하시는 통합검색 스킨 폴더에 (일반적으로는) 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로 변경해보세요.

  • profile ?

    우선 답변 정말 감사합니다!! :)

     

    스크린샷 2024-04-17 오전 11.46.31.png

     

    말씀해주신대로 변경하니까 [제목]이 앞으로 나오긴 했습니다!

    다만, 실제 검색했을때는 사진처럼 여전히 [제목+내용]의 검색결과가 우선적으로 뜹니다!

     

  • ? profile

    그거는 애초에 통합검색 자체가 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');
    등으로 해주셔야 하는데, 코어 수정은 비추이긴 하죠.

    현재 하시는 작업이 꼭 필요한 기능이라면 따로 애드온 등을 제작하시는 걸 추천합니다.

    애드온 제작 의뢰 등이 어려우시다면, 가급적 이전 댓글에서 수정된 사항을 중심으로 운영하시는 게 좋을 것 같아요.

  • profile ?
    빠르고 친절한 답변 너무 감사드립니다!

    생각보다 굉장히 문제가 발생할 확률이 높아지겠군요..

    그렇다면 우선은,
    조언해주신대로 바꾸지 않고 다시 원래대로하면서 다른 방식으로 최대한 해결할 방법을 강구해보도록 하겠습니다!

    답변 정말 감사드립니다!
  • ? profile
    사실 큰 문제가 있지는 않을 텐데요.
    코어 업데이트가 있어서 integration_search.view.php 파일을 덮어써야 하는 경우가 생긴다거나 하면 사이트 운영에 애로사항이 있을 수 있겠다? 그 정도긴 해요 :)
  • profile ?
    아직은 제가 사이드로 하고 있는 거라
    작은 애로 사항이더라도 그것을 수정하고 고치는 것이
    약간 시간이 아까운 것 같아서 그냥 일단 이 사이트의 본질적인 컨텐츠들에만 좀더 집중하려구요!

    그래서 우선은 원래대로 해보고 유저들한테서
    직접적으로 그러한 개선사항을 요구하는 피드백이 오면 그렇게 수정해보려고 합니다!

    도와주셔서 너무 감사드려요! :)
  • profile

    검색 폼 부분의 소스에다가 아래의 내용을 추가해 보세요.

    만약 name="search_target"으로 되어 있는 태그가 이미 있다면 value만 "title"로 바꿔주세요.

     

    <input type="hidden" name="search_target" value="title" />

  • profile ?

    제가 라이믹스를 잘아는 편이 아니라..
    혹시 검색 폼 부분의 소스가 어떤 파일을 말씀하시는 것인지 알려주시면
    바로 해당 내용추가해보겠습니다!

    도와주셔서 너무 감사드립니다!

    integration_search.view.php 를 말씀하시는 걸까용?

  • ? profile

    사용하시는 레이아웃이나 통합검색 스킨에서 검색어 입력하는 빈칸,

    검색 버튼 등에 해당하는 소스가 어디에 있는지 찾아 보세요.

     

    integration_search.view.php처럼 코어에 해당하는 부분은 신경쓰지 않아도 됩니다.

    코어 수정을 요구하는 답변은 애초에 드리지 않으니까요.^^

  • profile ?
    답변 정말 감사합니다! :)