Fuzzy 5

fuzzy검색

Regular Expression을 이용한 검색 이전에 만들었던 퍼지(fuzzy) 검색 (정규표현식이용) fuzzy logic : 불분명한 상태, 모호한 상태를 참 혹은 거짓의 이진 논리에서 벗어난 다치성으로 표현하는 논리개념 (위키백과) 확률론과 근본적으로 다른것이 부엌과 침실사이에 서 있을때 50%확률 fullfish.tistory.com fuzzy검색의 highlight와 가중치 적용 참고 : https://taegon.kim/archives/9919 [JS] 한글도 지원하는 퍼지 문자열 검색 UI 작업을 하다보면 목록을 검색해야 할 때가 많다. 그런데 사람의 기억이라는 게 정확하지 않아서 혹은 전부 입력하기 귀 fullfish.tistory.com 이 부분들을 현재 프로젝트에 맞게 수정 및 업그레..

Project/fullmemo 2023.12.12

16일차 / axios 요청 작성, fuzzy검색 및 정렬, 리벤슈타인 거리

한것 axios 요청 작성 서버에서 퍼지검색을하고 프론트에서 정렬을 했었는데 검색과 정렬모두 서버에서로 변경 리벤슈타인거리 추가 (퍼지검색 -> 퍼지검색한거 유사도 정렬 -> 리벤슈타인 거리 적합한것 추가) 리벤슈타인거리에 해당하는것은 로직이 달라서 하이라이트 별개로줌 axios 요청 예시 export function diaryGet(trip_id, search) { let url = `${endpoint}/diary?trip_id=${trip_id}`; if (search) url += `&search=${search}`; return axios.get(url, { headers: tokenHeader(), 'Content-Type': 'application/json', }); } export defa..

카테고리 없음 2022.05.12

fuzzy검색의 highlight와 가중치 적용

참고 : https://taegon.kim/archives/9919 [JS] 한글도 지원하는 퍼지 문자열 검색 UI 작업을 하다보면 목록을 검색해야 할 때가 많다. 그런데 사람의 기억이라는 게 정확하지 않아서 혹은 전부 입력하기 귀찮아서 개떡같이 일부만 입력해도 찰떡같이 원하는 결과를 보여주는 UI taegon.kim Highlight 적용 검색을 한 글자를 빨간색으로 반환 가중치 적용 원래 db상 '과일먹자'가 '과자냠냠'보다 id값이 빨라서 상단에 위치했는데 유저가 좀더 찾기를 원했을만한 단어가 위로가게 가중치 적용 빨간색으로 색 바뀌는부분 코드 exports.chageRed = (data, search) => { const regex = createFuzzyMatcher(search); const ..

13일차 / fuzzy검색 구현

다이어리의 title이 위 이미지처럼 14개가 있을 때 "새깡"으로 검색시 { "data": [ { "id": 3, "title": "과자는새우깡", "picture": "url", "gps": "21,22", "content": "새우깡은갈매기꺼", "write_date": "2022-12-01 09:00:00", "createdAt": "2022-05-05 22:26:02", "updatedAt": "2022-05-05 22:26:02", "trip_id": 1, "hashtags": [ "맛있다", "새우새우", "냠" ] }, { "id": 4, "title": "새우깡은과자", "picture": "url", "gps": "21,22", "content": "새우깡은갈매기꺼", "write_da..

퍼지(fuzzy) 검색 (정규표현식이용)

fuzzy logic : 불분명한 상태, 모호한 상태를 참 혹은 거짓의 이진 논리에서 벗어난 다치성으로 표현하는 논리개념 (위키백과) 확률론과 근본적으로 다른것이 부엌과 침실사이에 서 있을때 50%확률로 부엌에 있고 50%확률로 침실에있다고 말하는것과 양자역학처럼 50%는 부엌 50%는 침실에있다라고 말하는것은 다름 fuzzy 검색 : 완전히 일치하지않아도 검색하는것 (유사성 검색 알고리즘) fuzzy 검색이란 유사해도 검색하는 방법론이므로 딱 정해진 방법이 존재하는것은 아니다 다양한 방법들이 있는데 레펜슈타인 거리(Levenshtein distance) 다메라우-레펜슈타인 거리(Damerau-Levenshtein) 우(Wu)와 만버(Manber)씨에 의한 비탭 알고리즘과 변형 철자 검사 기법 N-그램 ..