본문 바로가기
버블 개발/중급

70. algolia사용하기 (중급) : algolia장점, 설정하기, indexing 색인, searching 검색, 주의사항

by 스타트업 사업가 마르코 2023. 8. 7.
이 섹션에서는 검색기능 공급사인 Algolia를 Bubble과 함께 사용하는 방법에 대해 설명합니다.
  • Bubble은 검색 SaaS(search-as-a-service) 제공업체인 Algolia와 기능적으로 통합되어 있습니다.
  • 이 통합적인 기능을 사용하는 Bubble 앱은 인덱싱을 위해 데이터를 Algolia로 전송하고 Algolia를 데이터 소스로 사용하여 Repeating Group(반복 그룹)와 SearchBox 같은 요소의 기능을 강화합니다.

 

(1) Algolia 의 장점

Algolia를 사용하면 어떤 장점이 있습니까? 특히 눈에 띄는 것은 속도입니다.
  • Algolia 검색은 빠르고 규모 면에서 Bubble 기본 검색보다 눈에 띄게 빠릅니다.
  • 두 번째는 사용자맞춤 기능입니다. Algolia를 사용하면 매개 변수 중에서 검색 알고리즘을 조정할 수 있습니다.
  • 설치해야 하는 다른 플러그인과 달리 이 통합 기능은 Bubble의 Google 지도 및 Google Geocode 통합기능과 마찬가지로 기본적으로 편집기에 내장되어 있습니다.

 

(2) 누가 이것을 고려해야 하는가

Bubble에는 기본 검색 기능이 있지만 Algolia는 규모에 따라 더 성능이 뛰어나고 사용자 지정 가능한 검색 환경을 제공합니다.

  • 이 통합 기능의 사용자는 자체 Algolia 요금 계획도 필요합니다. (무료요금제도 존재)
  • 즉, Algolia는 사용자 경험의 중요한 부분으로 검색에 의존하는 대규모의 Bubble 앱에 더 적합합니다. 따라서 이 기능은 Professional 요금제 이상의 Bubble 앱에서만 사용할 수 있습니다.

 

(3) 설정

이 기능을 시작하려면 자신의 Algolia 계정이 있어야 하며 Algolia 키를 Bubble앱의 설정(setting)에 복사해야 합니다.
  • Algolia 계정을 만들 때 자신의 정보들에 관해서 직접 입력할 필요가 없습니다.
  • 대신 가입 직후 대시보드의 "API keys" 섹션을 방문해야 합니다.

 

1. Agolia 가입

다음과 같은 화면이 표시됩니다. (API 키들을 복사해서 아래의 Bubble에 붙여 넣기)

 

agolia 키 발급화면
agolia 키 발급화면

2. Bubble에 설정

  • Bubble 앱의 Settings > General > 하단의 “General Services API Key" 섹션에 > Use Algolia searching" 확인란이 있습니다. (이 확인란이 표시되지 않으면 앱에 이 기능이 없기 때문일 수 있습니다. 유료요금제 중 professional 요금제만 있음)
  • 체크박스를 선택하면 application ID 입력 필드와 Algolia 대시보드의 두 키가 표시됩니다.

해당 값을 복사하여 붙여 넣으면 Bubble 앱은 키가 올바른 형식이라고 생각하는지 확인합니다.(아래 녹색 텍스트 참조)

Bubble에 아골리아 키 입력
Bubble에 아골리아 키 입력

 

아래에 언급된 Algolia 기능은 유효한 키와 애플리케이션 ID가 설정에 제공될 때까지 나타나지 않습니다.

 

(4) Indexing(색인)을 생성

1. Pravay 탭에서 설정

키를 추가한 후 DATA 섹션에 가면 모든 데이터 TYPE에 대한 Pravacy 탭에서, 해당 데이터 TYPE을 Algolia로 인덱싱하는 옵션을 볼 수 있습니다.

인데싱 설정
인데싱 설정

  • 데이터 TYPE이 Algolia로 인덱싱이 설정된 경우 Bubble은 모든 공개 필드를 Algolia로 보냅니다.
  • 그 후 Bubble은 Algolia에 필요한 인덱스를 자동으로 생성합니다.
  • 이후에는 해당 인덱스의 이름을 바꾸면 색인이 병경되어 검색이 제대로 된 페이지를 알려주지 못합니다. (아래의 재인데싱 참고)
  • 또한 인덱싱 되는 데이터 TYPE의 Privacy(권한설정)에 " Everyone elese(기타 사용자)" 권한 아래의 "Find this in searches”(검색에서 찾기)가 선택되어 있는지 확인하십시오.

 

2. Reindexing(재인데싱)하기

Algolia로 인덱싱할 데이터 TYPE을 전환한 후, 만약 해당 유형의 모든 항목에 대한 인덱싱을 다시 하고 싶을 때는, 인덱싱 된 모든 데이터 TYPE에 대해 Privacy 페이지 상단에 있는 모달에서 re-indexing 버튼을 클릭 할 수 있습니다.

reindexing 하기
reindexing 하기

  • 인덱싱된 모든 데이터 TYPE 또는 한 가지 TYPE의 전체 인덱싱을 다시 트리거하도록 선택할 수 있으며 개발버전 데이터베이스(테스트버전), 라이브 데이터베이스에 대해 이 작업을 수행하도록 선택할 수 있습니다.
  • 전체 인덱싱을 수행하면 상당한 트래픽 용량이 소요될 수 있으므로(항목 수에 따라 다름) 모든 데이터 유형의 설정 등을 재조정한 후 전체 인덱싱을 트리거하고 서버가 바쁘지 않은 시간대에 수행하는 것이 좋습니다.
  • 전체 인덱싱 작업은 대규모 CSV 데이터 내보내기와 동일한 과정을 실행하므로 App data > Export에서 이러한 작업의 상태를 실제로 확인할 수 있습니다.
  • 인덱싱 된 데이터 TYPE이 변경, 추가 또는 삭제되면 Bubble은 해당 Algolia 인덱스를 자동으로 업데이트하려고 시도합니다. 이것은 일반적으로 신뢰할 수 있어야 하지만 Algolia가 Bubble 데이터베이스와 "동기화되지 않은" 것을 발견한 경우 위와 같은 방식으로 항상 전체 재인덱싱 버튼을 클릭하여 인덱싱을 다시 할 수 있습니다.
  • 설정하는 동안 첫 번째 인덱싱을 실행한 후 Algolia 포털을 방문하여 새로 생성된 인덱스에서 예상하는 레코드가 표시되는지 확인하는 것이 좋습니다.

 

(5) Searching (검색)

1. 데이터소스로 설정

앱에 대해 Algolia를 활성화하면 "Algolia로 검색"이라는 새로운 데이터 소스가 표시됩니다.
  • 예를 들어 이것은 RepeatingGroup(반복 그룹)의 데이터 소스이거나 Searching Box(검색 박스)의 "Choices style(선택 스타일)"일 수 있습니다.
  • Algolia 데이터 소스를 사용하면 특정 필드 또는 데이터 TYPE의 모든 필드에 대해 검색하도록 선택할 수도 있습니다.

 

2. Algolia 검색결과(정렬, 가중치)

Algolia에서 제어되는 Algolia 결과의 정렬 순서는 Bubble에서 변경할 수 없습니다.
  • 결국, 우리는 그들의 알고리즘에 나타난 검색 전문성에 의존적이라고 할 수 있습니다.
  • Algolia 대시보드를 통해 특정 인덱스에 대한 Algolia 검색 알고리즘을 사용자 정의할 수 있습니다. 예를 들어 검색 알고리즘에서 다른 필드의 가중치를 변경할 수 있습니다.
  • 참고: 현재 통합기능의 한 가지 제한 사항은 Algolia 인터페이스에서 두 개의 필드를 "동일 가중치"로 설정하면 안 된다는 것입니다.

 

3. 페이지 결과 수 변경

Algolia의 기본 설정은 검색의 첫 번째 '페이지'에서 20개 항목을 반환하는 것입니다.
  • Bubble앱이 결과의 다른 페이지에 액세스 할 수 있는 방법이 없지만 Algolia portal > the appropriate index > Configuration > Pagination으로 이동하여 첫 번째 페이지의 결과 수를 변경할 수 있습니다.

 

(6) 제한 사항

*이것은 Algolia v1에 대한 사항입니다. 현재 버전을 확인하세요

 

1. 텍스트 및 숫자 필드만 지원

  • 다른 모든 필드 TYPE(사용자 지정 데이터 TYPE인 필드 포함)의 경우 Bubble은 해당 필드를 Algolia로 전송하기 위한 시도를 할 것이지만 이것은 합리적이지 않을 것입니다.
  • 다시 말하면 Algolia는 날짜, 지리적 주소, 범위, 사용자 또는 다른 사용자 정의 데이터 유형인 필드와 같은 다른 필드를 위한 것이 아닙니다.

 

2. 공개 데이터 필드만 지원

  • 한 사용자가 다른 사용자의 데이터를 보는 것을 방지하려는 경우와 같이 데이터 프라이버시가 매우 중요한 상황에서는 좋지 않습니다.
  • 예를 들어 모든 사용자가 앱에서 모든 렌털을 볼 수 있는 단기 렌탈 마켓플레이스 앱이 있으면 좋습니다. 공급업체가 많고 한 공급업체의 제품에 대한 검색만 구축하려는 전자 상거래 경험에는 적합하지 않습니다.

 

3. Algolia는 데이터 크기에 제한이 있음

  • Bubble이 주어진 데이터에 너무 긴 필드가 있음을 감지하면(텍스트 필드가 원인일 가능성이 가장 높음) Algolia로 보낼 수 있도록 자동으로 짧게 잘라냅니다.
  • 이것은 설정에서 비활성화할 수 있지만 Algolia 설정에서 이를 담당하는 고급 사용자만 수행해야 합니다.

 

4. 동일한 가중치 옵션 피하기

  • Algolia의 설정에서 두 필드의 순위를 "동일한 가중치"로 지정하는 옵션이 표시될 수 있습니다.
  • 이렇게 하면 Bubble 앱이 중단될 수 있으므로 이 작업을 수행하지 마십시오

 

5. 인덱싱 주의사항

  • Bubble은 Algolia에서 INDEX(색인)를 자동으로 생성합니다.
  • 원하는 대로 다른 설정을 자유롭게 조정할 수 있지만 이러한 인덱스의 이름을 변경하지 마십시오