我有一个搜索查询,在输入完整的单词后进行基本搜索。我正在查找3个字母后的自动建议。 例如, 标题 - samsung galaxy s4 我想看到“sam”之后的自动建议,而不是完整的单词“samsung”。3个字母后的弹性搜索中的自动建议
0
A
回答
0
您需要为此使用edgeNGram过滤器。
{
"analysis": {
"tokenizer": {
"autocomplete_tokenizer": {
"type": "edgeNGram",
"min_gram": "3",
"max_gram": "20"
}
},
"analyzer": {
"autocomplete_edge_ngram": {
"filter": ["lowercase"],
"type": "custom",
"tokenizer": "autocomplete_tokenizer"
}
}
}
}
和映射将
{
"title_edge_ngram": {
"type": "text",
"analyzer": "autocomplete_edge_ngram",
"search_analyzer": "standard"
}
或者你可以在elasticsearch使用completion suggester。 对于三个字符检查,你必须在你的客户端自己做。
2
当ngram过滤器工作时,这个用例有一个专用的建议器,称为completion
建议器,它使用另一个内部数据结构,它允许您在毫秒范围内执行建议,因此比常规查询使用edgengram。看看这里
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/search-suggesters-completion.html
相关问题
- 1. 3个字母后的jQuery Mobile自动完成搜索?
- 2. 1字段:自动建议+搜索
- 3. 弹性搜索自动翻转索引
- 4. 自动完成搜索建议下拉弹出式菜单
- 5. 用于全文搜索的自动建议后端
- 6. 弹性搜索建议操作不会返回所有可能的建议
- 7. JQuery自动完成搜索到字母
- 8. 在弹性搜索中搜索文本忽略大写和小写字母
- 9. 弹性搜索自动完成与辅助搜索顺序
- 10. 春季启动+弹性数据弹性搜索+弹性搜索5.6.0
- 11. 弹性搜索多个字段
- 12. 搜索名称和弹性搜索中的特殊字符
- 13. 如何构建自定义搜索建议的建议表?
- 14. CakePHP 3返回亮点弹性搜索
- 15. 弹性搜索:根据3场
- 16. 删除自动化API测试中的弹性搜索库?
- 17. 保存来自AJAX自动建议搜索的查询
- 18. 多个像弹性搜索
- 19. 索引弹性搜索中的多字段属性
- 20. 使用NHibernate搜索的搜索建议
- 21. 在弹性搜索中的多个字段上的groupby功能
- 22. 弹性搜索如何按字母顺序按组值排序?
- 23. 弹性搜索5和弹簧数据弹性搜索
- 24. 使用每个字段的值集合在弹性搜索中搜索记录。
- 25. 在ActionBarSherlock搜索栏中制作自定义搜索建议
- 26. 如何显示Android搜索建议的多个搜索建议区域?
- 27. MongoDb的弹性搜索
- 28. 如何按特定字段过滤弹性搜索词或短语建议者?
- 29. 搜索建议的背景
- 30. 按轮胎/弹性搜索中的整个字段值分组
是文档此为web应用程序,我们并不清楚你的问题的web应用的背景下,一个MobileApp –
它应该工作两个Web应用程序和一个MobileApp。我的后端在node.js + express中。 – Jyothi
您可以在客户端处理它,只在输入的字符超过3个字符(不包括空格)时才进行api调用 –