DigitalPlatform / dp2

Integrated Library System / 图书馆集成系统
http://digitalplatform.github.io/dp2
Apache License 2.0
107 stars 54 forks source link

dp2kernel XML 检索式 #1129

Open DigitalPlatform opened 2 years ago

DigitalPlatform commented 2 years ago

dp2kernel 的 Search() 等 API 采用了一种 XML 结构的检索式,描述检索需求。

下面介绍这种检索式的结构和用法:

dataType 元素

dataType 元素。其文本内容表示检索词的数据类型。可用值为 string number 之一。

当 dataType 元素文本内容为 number 时,matchStyle 元素文本应为 exact。number 数据类型会用到 keys_xxx 表的 keystringnum 字段来进行匹配,string 数据类型会用到 keys_xxx 表的 keystring 字段来进行匹配。

当 dataType 元素文本内容为 string 时,如果 matchStyle 元素文本为 left 或 right,则 relation 元素文本内容应为 =

relation 元素

relation 元素。其文本内容表示对检索词进行匹配的时候,判断是否相等和大小关系时用的算法类型。可用值为下列之一:

E 或 =,表示相等 GE 或 >=,表示大于等于 LE 或 <=,表示小于等于 G 或 >,表示大于 L 或 <,表示小于 NE 或 !=,表示不等于

match 元素

match 元素。其文本内容表示对检索词进行匹配的时候,进行精确或者模糊匹配的类型。可用值为 left middle right exact,分别表示前方一致 中间一致 后方一致 精确一致。

如果 match 元素缺省,效果等于 left。