首页 > 解决方案 > 在 SearchView 中应用词干提取以从 Firebase 数据库中获取数据

问题描述

我需要使用SeachView或搜索对话框从 Firebase 数据库中获取用户列表,我认为词干提取最适合我的应用程序。

不要求代码,但请告诉我它的算法。

标签: androidfirebasefirebase-realtime-databasesearchviewandroid-searchmanager

解决方案


要实现您想要的,您需要执行一个如下所示的查询:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("users");
Query query = usersRef.orderByChild("name").equalTo(newText);

因此,每次创建搜索时都应该返回一个新查询。所以根据这个,每次你想过滤一个新的条件时,你需要:

  1. 根据新过滤器创建一个新查询:

    Query query = usersRef.orderByChild("name").equalTo(newText);
    
  2. 将侦听器附加到这个新创建的查询。

  3. 使用这个新创建的查询的结果创建一个新的适配器,或者使用notifydatasetchanged()方法更新现有的适配器。


推荐阅读