KQL 中的布尔运算符
boolean operators in KQL
我正在阅读 Sharepoint 搜索中 Keyword Query Language 的参考资料,并试图弄清楚 AND 和 OR 运算符的工作原理。我对 KQL 特别感兴趣,而不是 FQL。我正在尝试找出以下问题的答案:
- 这个查询 return 是什么:
worda wordb
?我了解包含 worda
和 wordb
的文档。如果是这样,那么 AND 关键字似乎是默认的。那它为什么存在呢?
worda OR wordb AND wordc
- 在此查询中 wordb
是强制性的还是可选的?
worda OR wordb wordc
- wordc
是必须的吗?
- 使用自由文本查询
worda wordb
默认情况下使用 AND 运算符。如果您在自由文本查询中需要 OR 运算符,则必须明确使用它。
- 在 属性 查询中,例如
propertyA:"worda" propertyB:"wordb"
OR 运算符是默认的,必须明确使用 AND 运算符。
- 混合自由文本和 属性 查询以及默认。
- AND 运算符的优先级高于 OR。
worda OR wordb wordc
与 worda OR wordb AND wordc
相同,与 worda OR (wordb AND wordc)
相同。如果你想要不同的行为,你需要使用 (worda OR wordb) AND wordc
。
我正在阅读 Sharepoint 搜索中 Keyword Query Language 的参考资料,并试图弄清楚 AND 和 OR 运算符的工作原理。我对 KQL 特别感兴趣,而不是 FQL。我正在尝试找出以下问题的答案:
- 这个查询 return 是什么:
worda wordb
?我了解包含worda
和wordb
的文档。如果是这样,那么 AND 关键字似乎是默认的。那它为什么存在呢? worda OR wordb AND wordc
- 在此查询中wordb
是强制性的还是可选的?worda OR wordb wordc
-wordc
是必须的吗?
- 使用自由文本查询
worda wordb
默认情况下使用 AND 运算符。如果您在自由文本查询中需要 OR 运算符,则必须明确使用它。 - 在 属性 查询中,例如
propertyA:"worda" propertyB:"wordb"
OR 运算符是默认的,必须明确使用 AND 运算符。 - 混合自由文本和 属性 查询以及默认。
- AND 运算符的优先级高于 OR。
worda OR wordb wordc
与worda OR wordb AND wordc
相同,与worda OR (wordb AND wordc)
相同。如果你想要不同的行为,你需要使用(worda OR wordb) AND wordc
。