운영진 게시판에서 이야기를 꺼내기는 읽는 사람이 너무 없어서,
이곳에서 다루고자 합니다. :)
이곳 게시판은 검색 루틴이 단어 단위 검색을 합니다.
본문이 "안녕하세요, 반갑습니다" 일때,
"안녕", "반갑" 으로는 검색이 되지만 "하세요", "습니다" 등으로는 검색이 되질 않습니다.
이때, 사용자가 검색어를 입력했을때, 그 검색어를 단위단위로 분리를 해서, 각 검색결과의 AND 값(교집합)을 최종 검색결과로 다룹니다.
즉, 검색어가 "select create" 일 경우, 게시물 가운데, select 라는 단어가 들어있으면서, create 라는 단어도 들어있는 게시물을 찾아냅니다.
이런방식 일때, "ORA-1000" 같은 검색어가 있다면, "ora" 하고, "1000" 하고 분리해서, "1000" 이라는 검색어로도 검색이 되도록 할 것인가? 말것인가?
이것이 이 글의 핵심입니다. 즉, 검색어의 분리문자를 어떤 것으로 할 것인가? 입니다. 현재 분리문자는 다음과 같습니다.
----------
줄바꿈, 공백, 탭, ~ ` ! @ # \ $ % ^ & * ( ) + = | { } [ ] : ; " ' < > , . ? /
----------
즉, 검색어가 "/usr/local/bin/bash.[1-9]" 이런식이라면,
"usr", "local", "bin", "bash", "1-9" 이런식으로 분리해냅니다.
밑줄(_)과 빼기(-)는 뺐습니다. 즉, pg_xlog 같은 것은 pg와 xlog로 구분하지 않아서 xlog 로는 검색되지 않습니다. ora-1000 도 같은 식으로.
분리문자로 사용하지 않는 것이 더 타당할 것같은 문자들이 있으면 같이 논의 해봅시다.
테스트 페이지는 http://db2.powerdb.net/?criteria=oracle 입니다.
|