我正在使用firebase startAt查询,但它没有做正确的过滤,例如,如果我想搜索产品名称“Milk”它没有显示名为“milk”的项目因为小写,所以如何实现它所以它可以为这两种情况工作?
b = (Button)view.findViewById(R.id.querybutton);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Firebase ref = new Firebase("https://socialshopping.firebaseio.com/Food/Product");
Query queryRef = ref.orderByChild("name").startAt(searchP.getText().toString());
mActiveListAdapter = new ActiveListAdapter(getActivity(), Product.class, R.layout.single_active_list, queryRef);
mListView.setAdapter(mActiveListAdapter);
}
});
答案 0 :(得分:2)
Firebase 不是搜索引擎。试图假装它,只会导致糟糕的体验。但它是NoSQL数据库,这意味着您可以在其上构建多种类型的应用程序。包括许多搜索方案。
您有两个主要选择:
如果您留在Firebase中,您必须以您想要查询的方式存储数据,即将它们全部存储为小写,然后将搜索字词翻译为小写。
另见: