검색기능 (3) 썸네일형 리스트형 nodejs랑 mongodb에서 검색 기능 최적화하기(2) 1. 개요 text-index를 만들어두면 검색이 쉬워짐 ‘or’ 연산자나 ‘-’ 연산자 같은거 사용 가능 부분 검색어로 검색 가능 근데 text-index는 단점이 있음 단어 일부만 검색하면 검색이 안됨 mongodb는 띄어쓰기 기준으로 인덱싱 해주기 때문 2. Search Index 쓰기 mongodb atlas에서 search index 만들기 index Name 짓고 인덱스를 적용할 collection을 선택해야 함 [Refine Your Index]를 클릭하고, lucene.korean으로 변경합시다 그 밑에 있는 [Add Field Mapping]버튼을 눌르세여 Field Name은 제목으로 지정해주세여 3. 코드 // 검색 기능 app.get("/search", (요청, 응답) => { //.. nodejs랑 mongodb에서 검색 기능 최적화하기(1) 1. 개요 검색할 데이터가 너무 많으면 검색하기 어려움 indexing이 되어있는 데이터에는 binary search 개념을 도입할 수 있음 binary search는 이진탐색인데 검색할 데이터가 정렬되어있어야 함 indexing은 데이터를 정렬하는 행위 몽고DB에서는 오름차순으로 정렬되어 있는 _id를 이용해서 검색하면 binary search 가능 mongoDB atlas에서 인덱싱 할 수 있음 인덱싱 해둔 데이터를 검색하면 부분 검색어로도 검색 가능 2. MongoDB Atlas에서 인덱싱하기 인덱싱 하고싶은 collection에 접속 후 Indexes탭으로 들어감 [Create Index]버튼을 눌러줌 이렇게 제목을 text 순으로 정렬해준다 3. 코드 (1) server.js // 검색 기능 a.. nodejs랑 mongodb로 검색 기능 만들기 1. 개요 DB에서 게시글 검색하는 기능 구현 // DB에서 한개만 찾음 collection().findOne() // DB에서 몽땅 찾음 collection().find().toArray() DB에서 몽땅 찾을 수 있는 코드 사용 2. 알고리즘 list.ejs에서 검색 버튼 누름 JS 코드를 이용해 query string을 작성하고, 서버에 보내줌 query string은 ‘/search?value=검색어’ 형태임 server.js에서는 ‘/search’라는 URL로 GET 요청 처리 ‘요청.query.value’는 query string으로 전달받은 데이터를 의미 db에서 전달받은 데이터를 collection().find().toArray()로 검색 검색 결과를 ‘searchCon.ejs’파일로 전달.. 이전 1 다음