用户帮助 > 使用 Windchill RV&S 项跟踪更改 > 搜索项 > 使用运算符增强针对项的文本搜索
  
使用运算符增强针对项的文本搜索
借助 Windchill RV&S 中的搜索功能,您可以针对您的项数据库执行简单的文本搜索。文本搜索功能使用和许多常用 Web 搜索引擎相似的搜索语法。
请注意下列事项:
文本搜索只会搜索短文本或长文本字段中的信息。此搜索不会抓取其他字段类型,例如整数、选取、浮点、逻辑、日期、用户或组字段中的信息。
默认情况下会忽略大多数符号,例如 !#[]@;但是,您的 Windchill RV&S 管理员可能会配置一个可在搜索中包含的有限符号集。您的管理员会将已配置为可在搜索中使用的符号告知您。
搜索不区分大小写。例如,java 会返回包含 javaJavaJAVA 的项。
添加更多字词会缩小搜索范围,而不是扩大搜索范围。也就是说,Windchill RV&S 会搜索包含字符串中的所有字词的项,而不是包含字符串中的任意字词的项。
文本搜索只针对基础数据库进行搜索。如果您在搜索时不断出现问题,请咨询您的 Windchill RV&S 管理员。
如果搜索时出现错误,则不会返回结果项。
对于内容包含多种格式的字段,文本搜索只会返回内容包含多种格式的字段中的文本结果。您无法搜索内容包含多种格式的字段中的 HTML 元素或属性。
有关支持的数据库如何处理文本搜索和文本搜索运算符的详细信息,请参阅您的数据库文档。
文本搜索运算符
搜索功能支持使用下列运算符的全文搜索,以增强搜索操作:
运算符
说明
“”
搜索精确字词或短语。也就是说,Windchill RV&S 会逐个匹配由空格和/或标点分隔的字词。
例如,“medical device” 会返回包含 medical device 而非 medical devices 的项。
AND
搜索多个字词或短语。
例如,“battery life” AND “battery size” 会返回同时包含两个字词或短语的项,而不是只包含其中任意一个字词或短语的项。
* 
大部分数据库会在搜索文本中忽略常用字词,例如 athe。在常用字词前使用 AND 可以将其包含到搜索条件中。您还可以使用 + 符号来表示 AND 运算符。
OR
搜索字词或短语。
例如,“MD5000” OR “MD5002” 会返回包含 MD5000MD5002 的项。
* 
使用多个 OR 运算符可能会增加您的文本搜索所需的时间。
-
从搜索中排除字词或短语。
例如,“product lifecycle” -management 会返回包含 product lifecycle 而非 product lifecycle management 的项。
* 
在引号内以及在 - 运算符前没有空格时,该运算符会被忽略。
例如:
word1-word2 会搜索 word1 word2
而:
word1<space>-word2 会搜索 word1,而不是 word2
~
搜索与指定字词相似的字词(称为模糊搜索)。此搜索还会考虑拼写错误的字词。
例如,~applied 会返回包含 appliedappliesapply 的项。
*
搜索可能的字词组合(称为通配符替换)。
例如,except* 会返回包含 exceptionalexception 的项。
* 
如何使用通配符视基础数据库而定。例如,MS SQL 只允许 * 用作字词后缀,而 Oracle 则允许 * 用作字词前缀和后缀。
LIKE
搜索与指定字词或短语匹配的所有字符。如果您要搜索文本字段中的特定字符模式,例如硬件部件号中的一串数字,则此功能非常有用。
* 
LIKE 运算符会执行没有索引的搜索,这会使得搜索用时更长,而且会影响 Windchill RV&S 服务器的性能。如果您要搜索特定字词,请不要使用 LIKE 运算符。如果您无法创建文本字符串以搜索特定字词,但需要搜索非字母数字样式的字词,可使用 LIKE 运算符。要使用 LIKE 运算符改进文本搜索性能,您必须确保查询中包括特定筛选器,以减少 Windchill RV&S 必须处理的项数量。例如,单独按项类型筛选还不够,除非您在查询中添加特定筛选器。通过添加特定筛选器,查询会在数据库中搜索现有索引。
例如,LIKEw1<space>w2 会搜索文本字段中任何位置出现的字符 w1<space>w2。因为没有使用 LIKE 搜索运算符的字词的概念,因此 w1<space><space>w2 不会返回匹配项。
再举一个例子,LIKE “w1<space>w2” 会在文本字段的任何位置匹配出现的字符 w1<space>w2
* 
空格、* 和 "" 视为指定字符串中要搜索的字符。
视您的界面而定,输入内容可能有所不同。例如,如果您在 GUI 中输入 LIKE "w1 w2",则会匹配字符 w1<space>w2。在 CLI 中,您必须两次忽略双引号,一次是为您运行命令的 shell 忽略,另一次是为基础查询定义解析器忽略(因为它将 LIKE 运算符括在双引号中)。
没有安装和启用文本搜索的数据库不受支持,且文本查询结果未定义。
文本字段的历史搜索(历史值查询筛选器)和查询的历史评估(针对文本字段的查询筛选器,可在支持查询的关系字段中找到,运行时按历史顺序提取项)行为和 LIKE 运算符相似。 如果将 LIKE 运算符添加至这些实例的字符串的开头,则运算符会被忽略。
根据 Windchill RV&S 数据库的配置,搜索可能区分或不区分大小写。
使用项目筛选器搜索文本
在 GUI 中,您还可以在执行文本搜索时应用项目筛选器。例如,您可以在 SourceCode 项目中搜索包含字符串“null pointer exception”的项。
在 Web UI 中,您可以使用筛选器显示特定的一个或多个项目的项(有关详细信息,请参阅“筛选项”),然后在结果中执行文本搜索。