我试图找出提升在 cloudant 搜索索引中的工作原理。即,如果我想通过单词“some text”进行搜索并将“some”的提升增加到 4,将“text”的提升增加到 1。Cloudant 是否会首先搜索具有“some”的文档,然后搜索“text”在第一次搜索返回的文档中。还是会同时搜索“some”和“text”并计算基于相关性的匹配
问问题
100 次
1 回答
3
如果您要求 Cloudant 执行搜索操作并使用提升运算符“^”,那么将使用您提供的提升数字计算每个文档的相关性分数。例如,一个搜索查询:
q=some^4 text^1
将找到与单词“some”或“text”匹配的文档,但匹配“some”的文档将获得更高的分数,因为您已指出“some”比“text”重要四倍。无论是否使用 boost 运算符,记录返回都相同,但排序顺序会受到 boosting 的影响。
Boost 对于提升搜索子句也很有用,例如
q=(priceplan:premium AND str:"some text")^10 OR (priceplan:basic AND str:"some text")
上面的查询将“高级”文档移到了堆的顶部。
于 2016-12-08T17:00:35.757 回答