您的位置:首页 > 其它

[AX]AX2012开发新特性-全文索引

2012-08-14 11:51 232 查看
全文索引在索引中识别字符串字段中使用空格隔开的单词,不像普通索引仅仅使用字符串的第一个单词,这样能加快对字符串字段的搜索。AX2012支持每个表有一个且只能有一个全文索引,索引可以包含多个字段,对字段字符串长度没有限制,可以是设定的长度也可以使用memo类型,这是AX2009不支持的功能。

创建全文索引很简单,在AOT表结构可以看到一个Full Text Index的目录,点击新建一个全文索引,把需要索引的字段拖入就可以了,唯一的要求就是表组TableGroup必须是Main。

遗憾的是X++的select语句不能使用全文索引,全文索引只能用在Query中,可以设置QueryRange的RangeType为QueryRangeType::FullText表示使用全文索引,QueryRange值中的各个空格分隔的单词被解析为OR的关系,比如:

query2 = new Query();
queryBDSource3 = query2.addDataSource(tableNum(FtiTable));
queryBRange4 = queryBDSource3.addRange(fieldNum(FtiTable, Field1));

queryBRange4.rangeType(QueryRangeType::FullText);

// The space character is treated as a Boolean OR.
queryBRange4.value("diamond unfounded");


这里就是在FtiTable的Field1字段搜索diamond和unfounded两个单词,任何一个找到都可以,但是不能使用*或者?这样的通配符的。

更多内容参看MSDN:http://msdn.microsoft.com/en-us/library/gg839860.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: