Basic Text Search XML 索引参数可用于以不同方式管理 XML 数据的搜索。
如果不使用 XML 索引参数,XML 文档将作为未结构化文本建立索引。XML 标记、属性和值将包含在搜索中,并在单一字段 contents 中建立索引。
相比之下,使用 XML 索引参数时,XML 标记和属性值可以按标记名称、属性名称或路径在不同字段中建立索引。
- xmltags
- all_xmltags
- 识别要建立索引的标记
- all_xmlattrs
- 支持搜索包含 XML 文档的列中 XML 标记或路径所包含的所有属性。
- xmlpath_processing
- 支持基于 XML 路径的搜索。
- include_namespaces
- 对包含名称空间的 XML 标记建立索引。
- include_subtag_text
- 将标记和子标记作为统一字符串建立索引。
- include_contents
- 将原始格式的 XML 数据放入 contents 字段中。
- strip_xmltags
- 将非标记格式的 XML 数据放入 contents 字段中。
对于基本示例,假定存在以下 XML 分段:
<skipper>Captain Black</skipper>
可以创建
bts 索引,以便在
<skipper> </skipper> 标记内搜索文本:
CREATE INDEX boats_bts ON boats(xml_data bts_lvarchar_ops)
USING bts(xmltags="(skipper)") IN bts_sbspace;
要搜索包含词语 "Black" 的 skipper(船长)姓名,请使用
bts 搜索谓词:
bts_contains(xml_data, 'skipper:black')