Merge pull request #70 from power721/feature/split-words

快速搜索:加强分词
pull/71/head
Roinlong 3 years ago committed by GitHub
commit 9ca35bf194
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java
  2. 6
      app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java
  3. 13
      app/src/main/java/com/github/tvbox/osc/util/SearchHelper.java

@ -73,6 +73,7 @@ import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@ -763,7 +764,7 @@ public class DetailActivity extends BaseActivity {
quickSearchWord.clear();
searchTitle = mVideo.name;
quickSearchData.clear();
quickSearchWord.add(searchTitle);
quickSearchWord.addAll(SearchHelper.splitWords(searchTitle));
// 分词
OkGo.<String>get("http://api.pullword.com/get.php?source=" + URLEncoder.encode(searchTitle) + "&param1=0&param2=0&json=1")
.tag("fenci")
@ -780,7 +781,6 @@ public class DetailActivity extends BaseActivity {
@Override
public void onSuccess(Response<String> response) {
String json = response.body();
quickSearchWord.clear();
try {
for (JsonElement je : new Gson().fromJson(json, JsonArray.class)) {
quickSearchWord.add(je.getAsJsonObject().get("t").getAsString());
@ -788,8 +788,8 @@ public class DetailActivity extends BaseActivity {
} catch (Throwable th) {
th.printStackTrace();
}
quickSearchWord.add(searchTitle);
EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_QUICK_SEARCH_WORD, quickSearchWord));
List<String> words = new ArrayList<>(new HashSet<>(quickSearchWord));
EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_QUICK_SEARCH_WORD, words));
}
@Override

@ -44,6 +44,7 @@ import org.greenrobot.eventbus.ThreadMode;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@ -299,8 +300,9 @@ public class FastSearchActivity extends BaseActivity {
} catch (Throwable th) {
th.printStackTrace();
}
quickSearchWord.add(searchTitle);
EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_QUICK_SEARCH_WORD, quickSearchWord));
quickSearchWord.addAll(SearchHelper.splitWords(searchTitle));
List<String> words = new ArrayList<>(new HashSet<>(quickSearchWord));
EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_QUICK_SEARCH_WORD, words));
}
@Override

@ -5,7 +5,10 @@ import com.github.tvbox.osc.bean.SourceBean;
import com.github.tvbox.osc.ui.activity.SearchActivity;
import com.orhanobut.hawk.Hawk;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
public class SearchHelper {
@ -52,4 +55,14 @@ public class SearchHelper {
return mCheckSources;
}
public static List<String> splitWords(String text) {
List<String> result = new ArrayList<>();
result.add(text);
String[] parts = text.split("\\W+");
if (parts.length > 1) {
result.addAll(Arrays.asList(parts));
}
return result;
}
}

Loading…
Cancel
Save