TIL-2022/7/8

🏗️ 엄일경·2022년 7월 8일
0
post-thumbnail

Full-text Search, 전문 검색

full-text search refers to techniques for
searching a single computer-stored 
document or a collection in a full-text database

전체 텍스트를 대상으로 검색하는 방법

::인덱싱

  • 검색 대상의 양에 따라 전략을 택한다
    • serial scanning:
      • grep이 활용하는 방식
      • 문서량이 적을 때 적합
      • 검색엔진이 개별 문서에 직접 접근하여 쿼리에 맞는 내용을 스캔
    • 2-stage task:
      • 문서량이 많거나 쿼리 종류가 방대해지면 택하는 방식
      • 인덱싱: 모든 문서를 스캔하여 검색어 목록을 만든다(형태소 분석 등 다양한 전략 가능 ex. drive ⇒ drives, drove, driven)
      • 검색: 문서에 접근하지 않고 인덱스에만 접근한다

트레이드오프: 정밀도 vs 응답률

  • 정밀도는 검색 결과의 질을 측정.
  • 응답률은 검색 결과의 양을 측정. 모든 연관 결과 대비 반환된 결과의 비율.
  • 정밀도를 높이면 응답률이 낮아지고 응답률을 높이면 정밀도가 낮아진다

False-positive 문제

  • FTS는 검색 의도와 관련없는 검색 결과가 섞이기 쉽다
  • 자연어가 모호하기 때문인데 클러스터링으로 완화

성능 개선

  • 사용자에게 검색을 보다 정확하게 표현할 도구 제공
    • keyword 검색
    • phrase 검색
    • concept 검색
    • concordance 검색
    • proximity 검색
    • Regex 검색
    • Fuzzy 검색
    • Wildcard 검색
  • 검색 정밀도를 향상시키는 알고리즘 개발
    • 구글의 PageRank

Javascript

  • 빈 배열은 falsy가 아니다

React

  • useEffect는 마운트 직후, 의존성 배열에 정의된 값의 변화 때 작동한다
profile
사랑하는 사람들과 사랑받는 작품을 만들면서 살고 싶은 아저씨입니다.

0개의 댓글