Background Image

FORUM

조회 수 14810 추천 수 0 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요. 큐브리드를 사용하여 웹서버(XE)를 운영하고 있습니다.

검색 시 한글검색 부분은 해결했는데 영문검색 시 대소문자를 구분하여 영향이 있습니다.

 

예로 대문자 P로 쓰여진 글을  소문자 p로 검색할 경우 검색 결과가 나타나지 않습니다.

또한 반대로 소문자로 쓰여진 글을 대문자로 검색 시 나타나지 않습니다.

 

초보라 그런데 수정할 구문과 수정위치를 정확하게 알려 주시면 감사하겠습니다.

 

답변 부탁드립니다. 감사합니다.

  • ?
    seongjoon 2012.01.25 08:30

    안녕하세요.

    큐브리드를 사용해 주셔서 감사합니다. 문의하신 내용에 대하여 빠른 시일 내에 확인하여 알려드리도록 노력하겠습니다.

  • ?
    이용미 2012.01.27 23:51

    안녕하세요. 질문하신 내용의 답변입니다.

     

    검색 결과에 차이가 나는 이유는 MySQL은 DB에서 대소문자를 구분하지 않고(Case insensitive), CUBRID는 대소문자를 구분하기 때문입니다. 한글 검색어에 대해서는 문제가 되지 않으나, 영문 검색어에 대해 검색 결과가 차이가 나서 불편하실 것 같은데요. 조사해보니 현재 8.4.0 버전에서는 해결방안이 없는 것 같습니다. 8.4.1 이후 버전에서 최대한 동일한 검색 결과가 나올 수 있도록 XE팀과 논의 중에 있습니다.

     

    굳이 방법을 찾는다면,

    XE 코드를 잘 아시는 분이고, DB 크기가 작아서 성능 문제가 없다면..DB검색 쿼리를 직접 수정하실 수 있겠습니다.

    select col1, col2 from tbl where col1 like a”의 경우 소문자 a만 검색 결과로 출력될 것입니다.

    그러나 이것을

    -       select col1, col2 from tbl where lcase(col1) like lcase(a)    : 소문자로 통일하여 검색(lcase lower로 대체 가능)

    -       select col1, col2 from tbl where ucase(col1) like ucase(a)  : 대문자로 통일하여 검색(ucase upper로 대체 가능)

    로 변경하여 사용하신 다면 원하시는 결과 값이 나올 것 입니다.(함수의 사용으로 인덱스를 못타게 되므로, 첫 번째 sql에 비하여 두, 세 번째 sql은 성능상의 저하가 발생할 수 있습니다.)

     

    Xe 검색 관련해서는 어느 부분을 수정해야 하고, 어떤 sql문을 수정해야 하는지는 저희가 잘 알지는 못하므로 정확한 답변을 드리기가 어렵습니다. 저희가 좀더 조사를 한 후 댓글에 남기도록 하겠습니다.
  • ?
    재권 2012.02.01 03:30

    계속 기다리던 내용이었습니다. 답변 주시니 감사드립니다. 조금 더 조사 후 수정부위를 알려 주셨으면 합니다.

    반드시 향후버전에서는 개선되었으면 합니다.

  • ?
    샤롱스판 2012.02.01 03:52

    XE후속버전에서 CUBRID 사용시 대소문자를 구분하지 않고 검색결과가 나올 수 있도록 XE팀에 요청해둔 상태입니다. XE 후속 버전이 나오면 CUBRID 8.4.1버전으로 DB 업그레이드하시면서 XE도 함께 업그레이드해주세요. 불편하실텐데 좋은 제보 감사드립니다.

    직접 수정할 코드(XE가 생성하는 SQL 검색 쿼리)는 저희가 8.4.1버전과 테스트 후에 알려 드리겠습니다.

  • ?
    seongjoon 2012.02.01 04:35

    다음 부분을 수정하니 대소문자 동시 검색이 되는군요.

    sandbox/classes/db/DB.class.php 파일에서 531번째 라인 정도에(xe버젼에 따라 다를 수 있음) 아래와 같은 문구를 변경하시면 됩니다. 단, 전체적인 테스트를 해보지는 못했으며, 검색 부분에서만 확인을 하였으므로 기존 파일은 문제가 생기면 바로 복구 가능하도록 백업을 해두셔야 됩니다.

    변경전

    case 'like_tail' :

    case 'like_prefix' :

    case 'like' :

    return $name.' like '.$value;

    break;

    변경후

    case 'like_tail' :

    case 'like_prefix' :

    return $name.' like '.$value;

    break;

    case 'like' :

    return "UPPER(".$name.") like "UPPER(".$value.")";

    break;

  • ?
    샤롱스판 2012.02.08 20:18

    대소문자 구분 검색 문제를 해결한 코드가 XE에 반영되었습니다. http://code.google.com/p/xe-core/downloads/list 에서 xe.1.5.1.6.ko.changed 파일을 다운받아 현재 응용을 업그레이드해주세요.

    또한, DB도 841버전으로 업그레이드하셔야 합니다. http://www.cubrid.com/zbxe/266178 첨부파일에 있는 릴리스 노트를 참고하시면 업그레이드 방법이 자세하게 나옵니다. 간단히 말씀드리면, 1.840 DB정지, 2. 840에 있는 *.conf파일 백업 3. 841엔진바이너리 overwrite 4. php driver 841버전으로 교체 5. 2에서 백업한 *.conf파일 overwrite 단, cubrid_broker.conf파일에 있는 CCI_DEFAULT_AUTOCOMMIT=ON으로 변경해주세요. 6. DB재시작입니다.

    php driver 841과 엔진은 ftp://ftp.cubrid.org/CUBRID_Drivers/PHP_Driver/8.4.1/  ftp://ftp.cubrid.org/CUBRID_Engine/8.4.1/ 에서 다운받을 수 있습니다.

    단, 841버전은 릴리스된지 얼마 안된 버전이라서 조만간 패치가 나올 예정입니다. 아예 엔진 패치가 나오는 시점에 작업을 진행하시는 것도 좋겠습니다. 감사합니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 52
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1635 index관련 질문입니다. 1 foxman 2011.01.31 8151
1634 index 목록 조회 문의 입니다. 2 서훈아빠 2018.10.18 1478
1633 iferror 함수 4 아영이 2019.01.18 5821
1632 if exists 조건 처리문? 2 콩이아부지 2013.03.06 63611
1631 ibatis에서 set타입 insert 문의드립니다 1 성수현 2016.12.03 13194
1630 ibatis에서 create문 생성 1 file kkong 2017.03.01 10207
1629 ibatis 시 설정 질문입니다. 3 rogah 2009.07.24 14342
1628 http://maven.cubrid.org/ repository 접속이 안 됨 1 일퍼센트 2015.04.22 5143
1627 html 특수문자 깨지지 않게 가져오는 법 1 씨유소박 2013.11.12 28364
1626 htf 함수관련 질문입니다. 1 님장사드리브큐 2017.03.31 9108
1625 hibernate ht_table명 생성 1 하이버 2015.12.22 6825
1624 heap_get_visible_version_from_log 에러 7 복분자 2018.05.24 275
1623 hb_thread_check_disk_failure 오류 문의 드립니다. 1 큐브짱 2022.05.11 188
1622 having 절을 서브쿼리로 사용하면 에러가 발생 1 배운다큐브 2017.07.18 712
1621 ha_make_slavedb.sh 스크립트 실행 에러 2 secret QA 2013.09.14 12
1620 ha_make_slavedb.sh step5에서 에러 와 질문 2 kimsuny 2013.11.07 9344
1619 ha 스크립트 완료 문구 뜬후에... 5 QA 2013.09.27 10335
1618 ha 스크립트 돌리는 중에 에러 2 QA 2013.09.17 9613
1617 ha 스크립트 step3 Permission denied, please try again 2 QA 2013.09.25 15830
1616 ha 모드 운용중 테이블 삭제된현상 1 secret 나라보자 2015.09.09 26
Board Pagination Prev 1 ... 114 115 116 117 118 119 120 121 122 123 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales