索引服务查询语言返回的项目多于预期

时间:2010-12-01 20:21:45

标签: pattern-matching equals indexing-service dialect2

我们正在使用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>

分别。

1 个答案:

答案 0 :(得分:0)

因为子串#eksep#总是出现在我们正在寻找的内容的末尾,看到问题中索引项的示例,我们最终使用此查询解决了问题:

@TaxCategory  "\Areas\Technology#eksep#" AND @XmlConfigId = 14

我们还考虑在查询中使用UNIX style pattern matching,并将句点.用作字符串终止符,但在上述查询工作后从不需要尝试。

如果其他人使用不同的方式或模式匹配解决了类似的问题,请使用示例查询发布另一个答案。感谢。