我有一个相当简单的索引,其中所有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)。
但事实并非如此。
要么我误解了功能,要么我收到了错误的结果。
有人可以帮我解释一下吗?
由于
答案 0 :(得分:0)
在这种情况下,这是一个逃避问题" +"在URL中(见注释)。需要对URL查询字符串中的搜索文本进行转义(例如+应显示为%2B,但最好使用库函数来转义所有输入搜索文本,而不是特殊包含任何特定字符; && #39; s在大多数环境中都有这个功能,他们知道哪些字符需要转义。