我们正在使用Indexing Service Query Language(a.k.a。方言2)和以下查询,
@TaxCategory "\Areas\Technology\" AND @XmlConfigId = 14
它意外地匹配以下两个项目,而不仅仅是第一个项目:
Technology
Technology, Media & Entertainment
我们预计结束斜杠会将搜索限制在该项目的范围内;但它似乎在字符串的开头抓取任何具有给定文本的内容。
我们如何编写查询以独立定位第一项和第二项?
更新: 索引服务实际索引的内容是:
<ekttaxcategory>#eksep# \Areas\Technology #eksep#</ekttaxcategory>
和
<ekttaxcategory>#eksep# \Areas\Technology, Media & Entertainment#eksep#</ekttaxcategory>
分别。
答案 0 :(得分:0)
因为子串#eksep#
总是出现在我们正在寻找的内容的末尾,看到问题中索引项的示例,我们最终使用此查询解决了问题:
@TaxCategory "\Areas\Technology#eksep#" AND @XmlConfigId = 14
我们还考虑在查询中使用UNIX style pattern matching,并将句点.
用作字符串终止符,但在上述查询工作后从不需要尝试。
如果其他人使用不同的方式或模式匹配解决了类似的问题,请使用示例查询发布另一个答案。感谢。