2
は、どのようにSQLクエリに似Firebaseデータベース内の文字列検索を実装する:Firebaseデータベースでフィールドのワイルドカード文字列検索を行う方法は?
SELECT select_column from table_name where search_column LIKE '%search_word%'
は、どのようにSQLクエリに似Firebaseデータベース内の文字列検索を実装する:Firebaseデータベースでフィールドのワイルドカード文字列検索を行う方法は?
SELECT select_column from table_name where search_column LIKE '%search_word%'
Firebase自体は、テキスト検索をサポートしていません。クエリを達成することができ、最も近いが、このハックを使用して部分文字列の一致である:任意の印刷可能な文字の
FirebaseDatabase.getInstance().getReference(table_name).orderByChild(select_column).startAt(search_word).endAt(search_word + "~");
~
文字has the highest ASCII value、そのクエリの結果はsearch_word
で始まるselect_column
のすべての例です。
より高度な検索条件または一致条件が必要な場合は、フルテキスト検索ソリューションを使用するか、または作成する必要があります。 ElasticSearchはFirebaseでよく使われているものです。 Flashlightは、データベース内で直接2つをマージするNode.jsモジュールです。 (推奨のHeroku構成ではなく、Firebase Functionsに懐中電灯を配置することが可能になることに注意してください)
どのように対戦できますか?検索語で終わる検索ケース? – user1007522
@ user1007522 'orderByChild(select_column).endAt(search_word)'のように?それはアルファベット順に検索前に来るすべてのものを与えますが、正確にはテキストマッチではありません。 –