在 android 中应用高级搜索过滤器,同时从本地存储的 Json 文件获取数据,在 autocompletetextview / edittext
Apply advanced search filter in android while getting data from locally stored Json file, in autocompletetextview / edittext
我对 android 的 json 和搜索有点陌生。
我想在我的 autocompletetextview / edittext 中应用高级搜索过滤器,在 android 来自存储在 assets 文件夹中的 json 文件。
json 文件包含我的应用程序的常见问题解答。
现在我想创建高级搜索过滤器,如 Google chrome,如果我输入
STACK
我在 URL 条中得到的预测是
STACK OVERFLOW
下一行
STACK EXCHANGE
等等
哪里
stack
单词被突出显示,并带有适当的建议。
所以,同样,我想以这种方式设置我的搜索过滤器,因为我的 json 文件中有一些常见问题解答,当用户键入类似
的内容时
HOW PAPER IS MADE UP OF or METHOD OF PAPER MAKING or WANT TO MAKE
PAPER OUT OF WASTE or ETC.
我希望你能理解我的意思,现在根据给定的提示,
make up, making, make 等词都应该是 MAKE 的意思,它们的词根。
因为我的常见问题解答有问题和相关答案(很明显),所以问题可能是长格式的,所以要检索最相似的回复,我想创建高级搜索过滤器。
所以,我的问题是,
IS THERE ANY PARTICULAR API OR ALGORITHM THAT I CAN APPLY TO ACHIEVE
THIS TASK?
我为此研究了将近 4-5 天..
目前申请阅读json数据如下..
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("faq.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}
然后,
try {
JSONObject jO = new JSONObject(loadJSONFromAsset());
JSONArray json = jO.getJSONArray("faq");
Log.v("faq", "faq");
for (int i = 0; i < json.length(); i++) {
final JSONObject e = json.getJSONObject(i);
q = e.getString("q");
responseList.add(q);
a = e.getString("a");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
然后我设置数组适配器。
我什至使用过自定义适配器,但现在这不是问题。
所以,现在在我的搜索引擎中,当有人写一组关键字时,代码应该忽略冠词、副词等
预测的问题必须按相关性指数排序。
应该有同义词捕获和排序功能。
赋予识别词的重要性以细化相关词集。
也许可以添加分类词典。
所以,我想要这种可以完成所需任务的代码/引擎。
即使用户单击空格键,也必须刷新排序。
有没有这样的API/库可以满足需求?
And frankly speaking, I have tried many of the custom filter
solutions, and ALGOLIA API (not open-source, had trial for 14 days
only..) and others too, but these are not capable enough to solve my
need.
因此,我提前感谢你,如果你能用合适的解决方案 api 或算法或代码或想法来帮助我完成我的任务..
此致。
LUCENE Apache API,移动版,5.3.0是我查询的解决方案,我终于得到了..
lucene search和lucene study是要处理的不同项目..
我对 android 的 json 和搜索有点陌生。
我想在我的 autocompletetextview / edittext 中应用高级搜索过滤器,在 android 来自存储在 assets 文件夹中的 json 文件。
json 文件包含我的应用程序的常见问题解答。
现在我想创建高级搜索过滤器,如 Google chrome,如果我输入
STACK
我在 URL 条中得到的预测是
STACK OVERFLOW
下一行
STACK EXCHANGE
等等
哪里
stack
单词被突出显示,并带有适当的建议。
所以,同样,我想以这种方式设置我的搜索过滤器,因为我的 json 文件中有一些常见问题解答,当用户键入类似
的内容时HOW PAPER IS MADE UP OF or METHOD OF PAPER MAKING or WANT TO MAKE PAPER OUT OF WASTE or ETC.
我希望你能理解我的意思,现在根据给定的提示, make up, making, make 等词都应该是 MAKE 的意思,它们的词根。
因为我的常见问题解答有问题和相关答案(很明显),所以问题可能是长格式的,所以要检索最相似的回复,我想创建高级搜索过滤器。
所以,我的问题是,
IS THERE ANY PARTICULAR API OR ALGORITHM THAT I CAN APPLY TO ACHIEVE THIS TASK?
我为此研究了将近 4-5 天..
目前申请阅读json数据如下..
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("faq.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}
然后,
try {
JSONObject jO = new JSONObject(loadJSONFromAsset());
JSONArray json = jO.getJSONArray("faq");
Log.v("faq", "faq");
for (int i = 0; i < json.length(); i++) {
final JSONObject e = json.getJSONObject(i);
q = e.getString("q");
responseList.add(q);
a = e.getString("a");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
然后我设置数组适配器。
我什至使用过自定义适配器,但现在这不是问题。
所以,现在在我的搜索引擎中,当有人写一组关键字时,代码应该忽略冠词、副词等
预测的问题必须按相关性指数排序。
应该有同义词捕获和排序功能。
赋予识别词的重要性以细化相关词集。
也许可以添加分类词典。
所以,我想要这种可以完成所需任务的代码/引擎。
即使用户单击空格键,也必须刷新排序。
有没有这样的API/库可以满足需求?
And frankly speaking, I have tried many of the custom filter solutions, and ALGOLIA API (not open-source, had trial for 14 days only..) and others too, but these are not capable enough to solve my need.
因此,我提前感谢你,如果你能用合适的解决方案 api 或算法或代码或想法来帮助我完成我的任务..
此致。
LUCENE Apache API,移动版,5.3.0是我查询的解决方案,我终于得到了..
lucene search和lucene study是要处理的不同项目..