我正在使用基于丰富Lucene查询分析器语法的Azure搜索。我将“〜1”定义为距离的一个符号的附加参数)。但是,我面临的问题是,即使有完全匹配,实体也不会被排序。 (例如,“blue〜1”会返回“blues”,“blue”,“glue”或者当搜索产品SKU如“P002”时,我会得到结果“P003”,“P005”,“P004” P002“,”P001“,”P006“) 所以我的问题是:有什么方法可以定义,具有精确匹配的实体必须是列表中的第一个,或者是单个搜索结果,即使那么我使用模糊搜索” 1" ?Azure搜索 - 完全匹配作为第一个或单个结果
1
A
回答
3
随着Lucene Query syntax可以提高个人的子查询,例如:term^2 | term~1
- 这相当于“找到匹配‘术语’或‘术语’与编辑距离为1的文档,并能由因子得分完全匹配相对模糊匹配更高两个人。
search=blue^2|blue~1&queryType=full
没有保证精确匹配永远是第一位在被设置为文档分值是一个function of term frequency and inverse document frequency的结果。如果模糊子查询扩展输入词语的术语,它是在您的文档语料库中非常独特,您可能需要提高推动因子(在我的示例中为2)。通常,依赖于相关订货的成绩不是一个实际的想法。您可以在下面的帖子一看我的答案的详细资料:Azure Search scoring
让我知道,如果这有助于
相关问题
- 1. 选择相关搜索的第一个结果是否匹配?
- 2. Searchlogic - 搜索完全匹配
- 3. 使用JOIN匹配第一个结果
- 4. 全文搜索不完全匹配
- 5. 弹性搜索中的完全匹配搜索不起作用
- 6. Rails:接受第一个搜索结果
- 7. 第一个Google搜索结果(SEO?)
- 8. 全文搜索,过滤结果为最佳匹配
- 9. 为什么不是与检索和排名Solr查询中的第一个结果完全匹配的文档?
- 10. 天青搜索完全匹配
- 11. CRM 2011搜索完全匹配
- 12. 在谷歌搜索的完全匹配
- 13. 查找/搜索完全匹配的AOT
- 14. 弹性搜索的完全匹配
- 15. MySQL:在全文搜索中查找多个单词 - 完全匹配只有
- 16. 按单词Grails的第一个匹配字母搜索
- 17. 弹性搜索2.3通配符查询不返回完全匹配结果
- 18. 匹配的搜索结果两次与一个输入栏
- 19. OrientDB全文搜索多个匹配
- 20. 匹配器只匹配第一个结果
- 21. 针对第一个结果运行第二个搜索
- 22. 搜索并点击一个按钮,如果ID匹配或文件名匹配
- 23. Azure搜索 - 是否有办法获得完全匹配的单词?
- 24. MeteorJS - MongoDB - 为什么全文搜索只返回完全匹配?
- 25. OutOfMemoryError作为多个搜索的结果
- 26. 分配搜索结果到一个变量 - PHP的全文搜索布尔
- 27. 部分匹配和完全匹配的多个字段的弹性搜索
- 28. 为什么Lucene结果仅包含完全匹配?
- 29. Scrapy:仅返回第一个XPATH匹配(每页一个结果)
- 30. PHP搜索数组部分或完全匹配
谢谢!这是有效的,但我只做了一个区别:据我了解,“OR”运算符将得到“blue^2”或“blue〜1”或两者的结果。所以如你所说,不能保证完全匹配总是第一。经过一些实验后,我通过搜索=(blue^2)|(blue〜1)&queryType = full来实现“严格或” –