[2020년 11월 15일 기술블로그에서 작성]
Nextcloud 앱을 사용하고 있던 중 파일 검색을 하는 데 검색에 실패했다,,,
분명 파일명에 있는 단어들을 검색한 것인데 검색 결과 없음이 나왔다.😳
파일명에 적힌 문자열 그대로 검색하지 않으면 원하는 파일은 검색되지 않는 것 같다.
만약 내가 '20201113 issue test image.jpg' 파일을 찾으려고 한다.
파일명 순서 그대로 'issue test'를 검색하면 원하는 결과가 나온다.
('20201113 issue', 'issue test image' 등... 도 같은 결과가 나온다.)
그러나 파일명 순서 흐름대로가 아닌 'issue image'를 검색하면 원하는 결과가 나오지않는다.
('20201113 test', '20201113 image', 'te ' 등... 도 같은 결과가 나온다.)
클라우드에서 검색 기능은 매우 중요하다고 생각한다.
파일이 많이 저장된 사용자가 찾고자 하는 파일명을 순서대로 기억하고 있지 않다면? 그 경우 Nextcloud에서 파일을 찾기 어려울지도 모른다.😭😭
이러한 점을 개선점으로 이슈화하려고 했는데, 검색 문자열 중간에 '%'를 넣으면 내가 원하는 대로 검색 결과가 나오는 것을 발견했다..!
😲😲😲 의도한게 아닌데 검색이 되어 정말 놀랐다. 데이터베이스 전공 수업에서 배운 부분검색을 위한 Like절과 '%'기호가 생각났다.
사용자가 검색어를 입력하면 공백란을 '%'기호로 대체하여 서버로 보내는 방법을 생각했다.
SearchEvent 클래스의 함수 getSearchQuery가 쿼리문을 반환하기 전에 공백란을 '%'기호로 대체한 후 반환하도록 하였다.
Before
1
2
3
|
public String getSearchQuery() {
return this.searchQuery;
}
|
cs |
After
1
2
3
|
public String getSearchQuery() {
return this.searchQuery.replace(" ","%");
}
|
cs |
수정한 코드를 빌드한 후 실행시켜 보니 파일명 순서 흐름대로 검색하지 않아도 원하는 파일을 검색할 수 있다.
검색 기능을 개선할 수 있는 방법을 이슈화 시켰다. #7325
+ 이슈 등록전에 멘토님께 먼저 보여드리고 내용에 대한 첨삭 피드백을 받았다.
Android version: 5
Device model: Samsung Galaxy S9
Nextcloud app version: 3.13.1
Yuna Github: https://github.com/Kuuuna98
Nextcloud/android Github: https://github.com/nextcloud/android
'android > 오픈소스 기여' 카테고리의 다른 글
검색이슈 pt.3: server Repository로 옮겨진 검색이슈 (Issue #24169) (0) | 2021.01.17 |
---|---|
NC20 웹에서 데모버전으로 사용하기 (0) | 2021.01.14 |
검색이슈 pt.2: 버전 업데이트를 하면 검색이슈가 해결,,,? (Issue #7325) (0) | 2021.01.14 |
코드 주석 오타 수정하기 (0) | 2021.01.13 |
[오픈소스 기여] nextcloud/android (0) | 2021.01.11 |