Firebase에서 SQL LIKE 작업 수행
질문:
Firebase에서 어떤 데이터 구조를 사용합니까? 관계형 데이터베이스와 유사합니다. 와일드카드 문자(%)가 있는 SQL LIKE 작업을 어떻게 수행할 수 있습니까? 문자열의 패턴을 일치시키는 데 사용됩니까?
답변:
Firebase는 현재 기본적으로 SQL LIKE 작업을 지원하지 않습니다. 유사한 기능을 얻으려면 타사 도구를 활용하거나 자체 솔루션을 구현할 수 있습니다.
옵션 1: 타사 도구
한 가지 접근 방식은 Firebase를 다음과 통합하는 것입니다. Algolia 또는 ElasticSearch와 같은 타사 검색 엔진. 이러한 서비스는 와일드카드 일치를 포함한 강력한 검색 기능을 제공합니다. Firebase를 Algolia 또는 ElasticSearch에 연결하면 이러한 전문 플랫폼에 검색 기능을 위임할 수 있습니다.
옵션 2: 맞춤 솔루션
자체 솔루션 구축을 선호하는 경우 , 2단계 접근 방식을 구현할 수 있습니다:
이 접근 방식을 설명하려면 제품 이름이 포함된 'products'라는 문서가 있는 Firebase 데이터 구조를 고려해 보세요.
products:{ product1:{ name:"chocolate", } product2:{ name:"chochocho", } }
To "cho"에 대해 LIKE 검색을 수행하면 다음과 같습니다.
변경 사항 모니터링 및 색인 생성:
var db = getFirestore(); db.collection("products").onSnapshot(async (qs) => { qs.docChanges().forEach(async (change) => { const doc = change.doc; // Index the product name in a search engine here }); });
검색:
// Search engine query results = esClient.search({ query: { match: { name: 'cho' } } }); // Process results results.then(res => { const hits = res.hits.hits; hits.forEach(hit => { console.log(hit['_source'].name); }); });
이러한 기술을 활용하면 Firebase의 데이터 저장 장점을 활용하고 보완할 수 있습니다. SQL LIKE 작업을 포함한 고급 검색 기능을 위한 타사 서비스 또는 맞춤형 솔루션을 사용하세요.
위 내용은 Firebase에서 SQL LIKE 작업을 어떻게 수행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!