问题标签 [search-suggestion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - Grails ElasticSearch 插件 - 建议查询
是否可以使用插件编写建议查询?插件文档中没有任何内容。如果可能,我该怎么做?
这是关于建议查询的 elasticsearch 文档: http ://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters.html http://www.elasticsearch.org/guide/en/elasticsearch/reference /current/search-suggesters-completion.html
非常感谢您的回答。
android - 如何在 android 用户词典中添加新词,以便在输入时出现在候选视图中
我在网上搜索并研究了这个问题,但没有得到明确的答案。我已经使用内容提供者将单词添加到用户字典中,因为android 文档指出这些单词被添加,但是之后当我在键盘上键入时,我看不到该单词出现在候选视图中的建议中,因为我们点击了其他单词下次出现在那里。我真的很感激这个问题的完整答案,因为很多人在网上问这个问题而没有得到回答。我试过这个
如果有人在这里帮助我,将不胜感激
elasticsearch - 弹性搜索完成建议多字段
我正在尝试从多领域获得建议。我找不到这样的例子,所以也许这不是最好的主意,但我对你的意见很感兴趣。
映射:
数据:
询问:
要求是:
- 获取查询适用于文本“fyodor”,也适用于“dostoevsky”,此示例仅适用于“fyodor”
- 可以过滤建议
任何想法我怎样才能实现这些?
autocomplete - 弹性搜索建议器和搜索自动完成器机制
我正在研究搜索引擎机制,并希望使用弹性搜索来实现基本的搜索引擎。我在测试弹性搜索集群中有 80.000 个索引文档。我阅读了建议者的弹性搜索教程和这篇文章。在这篇文章中说“这种方法对大量数据没有用”。我不确定该方法应该是什么。我在考虑两种方法。我告诉了第一个。第二种方法是使用用户统计信息。有什么方法可以做到这一点吗?你的建议是什么?
提前致谢。
android - Android - 当用户选择搜索建议时如何传递数据?
我正在创建一个带有搜索建议的 SearchActivity。当您开始在 SearchView 中键入一个单词时,建议会按预期显示,但是当您单击其中一个建议时,我最终会出现以下错误:
没有这样的栏目:产品
这似乎与我的 searchable.xml 条目有关...
android:searchSuggestIntentData="content://com.example.dbcontentprovider/products
...因为传递给query()
我的 DbContentProvider 类的方法的 URI 是...
内容://com.example.dbcontentprovider/products
...然而,我认为它应该是...
content://com.example.dbcontentprovider/products/(id_of_selected_product)
我认为问题可能是我没有SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID
正确使用投影图中的数据,但我已经尝试了所有我能想到的组合,但我一无所获。
Android 文档没有任何帮助,而我正在使用的 Reto Meier 书并没有提到这里的任何问题,所以任何人都可以提出解决方案。
我的相关代码是......
DbContentProvider.java:
SearchActivity.java:
可搜索的.xml:
AndroidManifest.xml:
而且(一分钱……),当我单击建议时,这是上述代码的 LogCat 输出……
09-30 21:01:39.720: D/AbsListView(4571): onDetachedFromWindow 09-30 21:01:39.720: D/AbsListView(4571): unregisterIRListener() 被调用 09-30 21:01:39.770: D/SearchActivity (4571):意图:意图 {act=android.intent.action.VIEW dat=content://com.example.dbcontentprovider/products flg=0x10000000 cmp=com.example/.SearchActivity(有附加功能)} 09-30 21 :01:39.770: D/SearchActivity(4571): 查询: hei 09-30 21:01:39.770: D/SearchActivity(4571): detailUri: content://com.example.dbcontentprovider/products 09-30 21:01 :39.770: D/SearchActivity(4571): id: products 09-30 21:01:39.780: D/SQLiteOpenHelper(4571): query() 09-30 21:01:39.780: D/SQLiteOpenHelper(4571): 投影: {"_id", "brand_name"} 09-30 21:01:39.780: D/SQLiteOpenHelper(4571): selection: _id = products 09-30 21:01:39.780: D/SQLiteOpenHelper(4571): selectionArgs: null 09-30 21:01:39.780: D/SQLiteOpenHelper(4571): sortOrder: null 09-30 21:01:39.780: D/SQLiteOpenHelper (4571): 查询 (所有行): content://com.example.dbcontentprovider/products 09-30 21:01:39.780: D/SQLiteOpenHelper(4571): sql: SELECT _id, brand_name FROM brand_names WHERE (_id = products ) 09-30 21:01:39.780: E/SQLiteLog(4571): (1) 没有这样的列:产品 09-30 21:01:39.780: W/dalvikvm(4571): threadid=16: 线程以未捕获的异常退出 (group=0x41ebcda0) 09-30 21:01:39.780: E/AndroidRuntime(4571): 致命异常: AsyncTask #3 09-30 21:01:39.780: E/AndroidRuntime(4571): 进程: com.example, PID: 4571 09-30 21:01:39.780: E/AndroidRuntime(4571): java.lang.RuntimeException: An执行 doInBackground() 时发生错误 09-30 21:01:39.780: E/AndroidRuntime(4571): at android.os.AsyncTask$3.done(AsyncTask.java:300) 09-30 21:01:39.780: E/ AndroidRuntime(4571): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) 09-30 21:01:39.780: E/AndroidRuntime(4571): at java.util.concurrent.FutureTask.setException(FutureTask .java:222) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 java.util.concurrent.FutureTask.run(FutureTask.java:242) 09-30 21:01:39。780: E/AndroidRuntime(4571): 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:587) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 java.lang.Thread.run(Thread.java:841) 09-30 21:01:39.780: E/AndroidRuntime(4571): 由: android.database.sqlite.SQLiteException: 没有这样的列: products (code 1): , while compile: SELECT _id, brand_name FROM brand_names WHERE (_id = 产品) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.database .sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1121) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:694) 09-30 21 :01:39.780: E/AndroidRuntime(4571): 在 android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.database。 sqlite.SQLiteProgram.(SQLiteProgram.java:58) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:37) 09-30 21:01: 39.780:E/AndroidRuntime(4571):在 android.database.sqlite.SQLiteDirectCursorDriver。查询(SQLiteDirectCursorDriver.java:44)09-30 21:01:39.780:E/AndroidRuntime(4571):在 android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1436)09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:400) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.database.sqlite.SQLiteQueryBuilder.query (SQLiteQueryBuilder.java:294)查询(SQLiteQueryBuilder.java:294)查询(SQLiteQueryBuilder.java:294) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 com.example.DbContentProvider.query(DbContentProvider.java:124) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.content.ContentProvider.query(ContentProvider.java:857) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android. content.ContentProvider$Transport.query(ContentProvider.java:200) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.content.ContentResolver.query(ContentResolver.java:464) 09-30 21: 01:39.780: E/AndroidRuntime(4571): 在 android.content.CursorLoader.loadInBackground(CursorLoader.java:65) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.content.CursorLoader.loadInBackground (CursorLoader.java:43) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:312) 09-30 21:01:39.780: E/AndroidRuntime (4571): 在 android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:69) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:57) 09-30 21:01:39.780: E/AndroidRuntime( 4571): 在 android.os.AsyncTask$2.call(AsyncTask.java:288) 09-30 21:01:39.780: E/AndroidRuntime(4571): 在 java.util.concurrent.FutureTask.run(FutureTask.java: 237) 09-30 21:01:39.780: E/AndroidRuntime(4571): ... 还有 3 个
wildcard - GSA 通配符搜索和建议无法协同工作
我正在使用支持通配符搜索的 GSA 7.2 版本,但一旦我启用它,拼写建议就会停止出现。请查看下面的 URL 并建议应该做什么,以便我开始获取它。
http:// {host-name}/search?start=0&num=1000&site=xyzTest&output=xml&client=frontend&filter=0&getfields= &q=sken
在上面的查询中,搜索词是“sken”,GSA 建议标签应该出现并为“skin”提供建议,但它没有发生。
android - SearchView 过滤和设置建议
我对使用非常陌生SearchView
。我需要一个我拥有的ActionBar
功能Search
。当我单击搜索时,建议应显示在搜索字段下方的列表中。
到目前为止我所做的:onCreateOptionsMenu()
在 menu.xml 中添加了搜索,并在我初始化 SearchView 并setSuggestionsAdapter
实现
的地方编写了代码setOnQueryTextListener
。
结果:我进入应用程序,点击搜索图标,它会显示建议。我输入一个字母,它会整理出匹配的字母。我输入第二个字母它没有显示任何建议。我也关闭了搜索视图并再次打开它,键盘已打开,但未显示列表中的建议。
我需要什么:根据用户输入的字符进行过滤。哪怕不止一个角色。始终显示包含所有列表项的默认建议或在用户键入时排序的建议。
我在 Android 的 SearchView 类中看到,他们将文本设置为空并且还关闭了建议。但我不想要这个。
我被困在这里,不知道如何继续。请帮我。这是我的适配器代码:
我的 Activity 中的代码与我有 searchview 的 Menu 相关:
solr - 短语自动完成 solrj
我正在尝试为短语查询添加自动完成功能。具有以下配置 - 在 schema.xml 文件中
在 solrconfig.xml 中
此外,我正在设置以下内容 - 使用 solrj 查询 solr
但是,它不会为短语查询产生结果,仅适用于单个术语。有什么建议么。我正在使用 Solr4.10.2
solr - Solr (Open Solr) 建议结果包含标点符号
我正在研究一个建议者,我得到的结果包含标点符号。例如,当我输入“Volcan”时,我得到:
“火山”、“火山”、“火山”、“火山”、<- 逗号“火山”。<- 句号/句号
这是 solrconfig.xml 文件中的代码:
在 schema.xml 文件中我有这个:
结果是:
solr - 在 solr 中使用语音过滤器获取最可能的查询文档
我正在使用solr进行拼写检查/查询更正。我在 fieldType 中添加了solr.PhoneticFilterFactory和solr.NGramFilterFactory来执行拼写检查。它工作正常,但这里的问题是我正在获取查询的文档数量。我只需要最可能的单词/文档或类似的单词,我们可以说离查询更近的单词/文档。
schema.xml的片段:
示例:对于查询“ piece ”。我得到了大约780 NumFound(文档数)。我需要减少此计数,但最有可能的文档数量。