Azure搜索返回不一致的结果

时间:2015-02-03 15:38:12

标签: azure azure-search

我有一个相当简单的索引,其中所有10个左右的字段都是可搜索的字符串,而我的searchMode是“all”。

为简单起见,我假设发出以下搜索: - (X | Y | Z) 我得到所有没有x,y或z的文档。

假设我发出以下搜索: 第(i + j)的 我得到所有包含术语i和j的文档。

并且假设两次搜索返回的文档之间存在相当大的重叠。

如果我发出以下内容,我会想到在“all”searchMode中: (i + j) - (x | y | z)

我会收到不包含x,y或z的i和j的子集。换句话说,组合查询的结果将不包含单个查询结果中的任何条目 - (x | y | z)。

但事实并非如此。

要么我误解了功能,要么我收到了错误的结果。

有人可以帮我解释一下吗?

由于

1 个答案:

答案 0 :(得分:0)

如果不告诉我们,Azure搜索应该为此提供一致的答案。

在这种情况下,这是一个逃避问题" +"在URL中(见注释)。需要对URL查询字符串中的搜索文本进行转义(例如+应显示为%2B,但最好使用库函数来转义所有输入搜索文本,而不是特殊包含任何特定字符; && #39; s在大多数环境中都有这个功能,他们知道哪些字符需要转义。