11


查找设置

此 Sun Java System Content Delivery Server 版本为所有 Content Delivery Server 门户提供了扩展查找功能。其中包含以下功能:指定结果中默认显示的字段以及默认查找的字段。可以在默认设置中包含定制字段。

本章包含以下主题:

有关查找功能的概述,请参见《Sun Javatrademark System Content Delivery Server 5.1 参考手册》。有关重新生成查找索引的信息,请参见《Sun Javatrademark System Content Delivery Server 5.1 系统管理指南》。


11.1 配置默认结果字段

以下属性定义了查找结果中显示的字段集合:

要为属性指定多个字段,请用逗号 (,) 分隔这些值。这些字段将按照指定字段名称时的顺序进行显示。查询中包含的字段名称将添加到为该属性指定的字段后面。要能够从查找结果中链接到内容详细资料,请在结果中包含标题或简短描述。

请注意,指定大量字段可能会降低性能。另外,如果结果中包含很多字段,则在查看查找结果时可能需要进行水平滚动浏览。

以下几节列出了包含这些属性和有效值的文件。

11.1.1 Catalog Manager 管理控制台

Catalog Manager 管理控制台属性是在 $CDS_HOME/deployment/deployment-name/conf/AdminConsole.properties 文件中设置的。除了 11.1 配置默认结果字段中介绍的属性以外,该文件中还设置了以下属性,以指定在 Vending Manager 查找 Catalog Manager 上的目录时显示的字段:

下表中显示了有效的字段名称。如果定义了定制字段,请使用 emf.custom-key 作为字段名称,以便将该字段包含在查找结果中。有关定制字段的信息,请参见 1.8 设置定制字段


表 11-1 Catalog Manager 的 字段名称

字段名称

描述

category

类别名称

categoryid

类别 ID

cmprice

Catalog Manager 价格

cmprice_enddate

可以下载内容的最后一天

cmprice_freqocc

可以下载内容的频率

cmprice_model

价格模型名称

cmprice_noofdays

可以下载内容的天数

cmprice_nooftimes

可以下载内容的次数

cmprice_startdate

可以下载内容的第一天

cmprice_value

Catalog Manager 价格的货币值

ctype

内容类型

devcontentid

开发者内容 ID

devid

Content Delivery Server 为开发者帐户分配的 ID

devname

开发者名称

dpprice

开发者价格

dpprice_enddate

可以下载内容的最后一天

dpprice_freqocc

可以下载内容的频率

dpprice_model

价格模型名称

dpprice_noofdays

可以下载内容的天数

dpprice_nooftimes

可以下载内容的次数

dpprice_startdate

可以下载内容的第一天

dpprice_value

开发者价格的货币值

edname

版本名称

edstatus

版本状态

lastmoddate

上次修改版本的日期

loctype

指定内容类型和位置的代码

longdesc

详细描述

matcheddevice

能够运行内容的设备列表

matcheddeviceid

能够运行内容的设备 ID 列表

maxsize

版本二进制文件大小

planid

Content Delivery Server 为开发者计划或售卖计划分配的 ID

preview

预览可用性

rcid

资源类 ID

riid

版本资源 ID

shortdesc

简短描述

status

状态

statusmsg

状态消息

subdate

提交日期

title

标题

version

版本号

weight

版本权重


 

以下代码示例中显示了默认值。请注意,属性名称和值必须在同一行中,但本示例受页面大小限制而进行了调整。


keyword.search.results=
   title,status,devname,category,cmprice,dpprice,shortdesc,ctype
field_query.search.results=
   title,status,devname,category,cmprice,dpprice,shortdesc,ctype
user_defined.search.results=
 
remote_vending.keyword.search.results=
   title,status,devname,category,cmprice,shortdesc,ctype
remote_vending.field_query.search.results=
   title,status,devname,category,cmprice,shortdesc,ctype
remote_vending.user_defined.search.results=

 

11.1.2 Developer Portal

11.1 配置默认结果字段中介绍的 Developer Portal 属性是在 $CDS_HOME/deployment/deployment-name/conf/DeveloperPortal.properties 文件中设置的。表 11-1 中显示了有效的字段名称,但 devname 除外,它不适用于 Developer Portal。如果定义了定制字段,请使用 emf.custom-key 作为字段名称,以便将该字段包含在查找结果中。有关定制字段的信息,请参见 1.8 设置定制字段

以下代码示例中显示了默认值。


keyword.search.results=title,ctype,category,dpprice,statusmsg,status
field_query.search.results=title,ctype,category,dpprice,statusmsg,status
user_defined.search.results=

 

11.1.3 Vending Manager 管理控制台

11.1 配置默认结果字段中介绍的 Vending Manager 管理控制台属性是在 $CDS_HOME/deployment/deployment-name/conf/VSAdminConsole.properties 文件中设置的。下表中显示了有效的字段名称。如果定义了定制字段,请使用 emf.custom-key 作为字段名称,以便将该字段包含在查找结果中。有关定制字段的信息,请参见 1.8 设置定制字段


表 11-2 Vending Manager 的 字段名称

字段名称

描述

category

类别名称

categoryid

类别 ID

citemid

类别项 ID

cmprice

Catalog Manager 价格

cmprice_enddate

可以下载内容的最后一天

cmprice_freqocc

可以下载内容的频率

cmprice_model

价格模型名称

cmprice_noofdays

可以下载内容的天数

cmprice_nooftimes

可以下载内容的次数

cmprice_startdate

可以下载内容的第一天

cmprice_value

Catalog Manager 价格的货币值

ctype

内容类型

ctype_concept

Content Delivery Server 分配的 ID,用于指定内容的类型

devname

开发者名称

emf.popularity

受欢迎程度

注 - 有关信息,请参见 1.9 定义受欢迎程度

extcontgrpid

外部内容组 ID

注 - 只有在启用了外部内容和组件 ID 时才可用。有关信息,请参见 2.3 配置外部内容和组 ID

extcontid

外部内容 ID

注 - 只有在启用了外部内容和组件 ID 时才可用。有关信息,请参见 2.3 配置外部内容和组 ID

keyword

用于标识内容的关键字

lastmoddate

上次修改版本的日期

loctype

指定内容类型和位置的代码

longdesc

详细描述

matcheddevice

能够运行内容的设备列表

matcheddeviceid

能够运行内容的设备 ID 列表

maxsize

版本二进制文件大小

planid

Content Delivery Server 为订户计划分配的 ID

preview

预览可用性

rcid

资源类 ID

riid

版本资源 ID

shortdesc

简短描述

status

状态

stockdate

内容的储存日期

title

标题

version

版本号

vmprice

Vending Manager 价格

vmprice_enddate

可以下载内容的最后一天

vmprice_freqocc

可以下载内容的频率

vmprice_model

价格模型名称

vmprice_noofdays

可以下载内容的天数

vmprice_nooftimes

可以下载内容的次数

vmprice_startdate

可以下载内容的第一天

vmprice_value

Vending Manager 价格的货币值


 

以下代码示例中显示了默认值。


keyword.search.results=rcid,title,status,vmprice,cmprice,category,ctype
field_query.search.results=rcid,title,status,vmprice,cmprice,category,ctype
user_defined.search.results=

 

11.1.4 Subscriber Portal

11.1 配置默认结果字段中介绍的属性不适用于 Subscriber Portal。查找结果将通过订户 API 作为 IContentSummary 对象返回到 Subscriber Portal。只能显示此对象中包含的字段。有关此接口的信息,请参见 $CDS_HOME/javadoc/subscriberapi 目录中的 Javadoc 工具的输出。


11.2 配置查找引擎

Content Delivery Server 使用 Solr 查找服务器来编索内容和处理查找查询。索引中包含的字段是在名为 schema.xml 的文件中定义的。对于该文件,目录搜索服务和售卖搜索服务具有各自的文件副本。

对于目录搜索服务,schema.xml 文件位于 $CDS_HOME/deployment/deployment-name/conf/css/solr/conf 目录中。此文件用于 Catalog Manager 和 Developer Portal 中的查找。

对于售卖搜索服务,schema.xml 文件位于 $CDS_HOME/deployment/deployment-name/conf/vss/solr/conf 目录中。此文件用于 Vending Manager 和 Subscriber Portal 中的查找。

11.2.1 配置默认查找字段

默认查找字段是指,在查找查询未指定查找字段时查找的字段。由于 Catalog Manager 和 Developer Portal 共享目录搜索服务模式文件,并且 Vending Manager 和 Subscriber Portal 共享售卖搜索服务模式文件,因此,请确保为两个门户指定相同的默认查找字段。

最初,目录搜索服务和售卖搜索服务的默认查找字段如下所示:

要更改默认查找字段,请执行以下操作:

1. 打开要设置的查找服务的 schema.xml 文件。

对于目录搜索服务,此文件位于 $CDS_HOME/deployment/deployment-name/conf/css/solr/conf 目录中。对于售卖搜索服务,此文件位于 $CDS_HOME/deployment/deployment-name/conf/vss/solr/conf 目录中。

2. 查找 defaultSearchField 元素。

此元素将 text 定义为在未指定任何字段时查找的默认字段。此默认字段中包含的字段是由 copyField 元素指定的,其中,将 dest 属性设置为 text,例如:

<copyField source="ctype" dest="text"/>

3. 对于要包含在默认查找中的字段,添加 copyField 元素。

对于每个字段,请将 source 设置为字段名称,并将 dest 设置为 text。目录搜索服务的有效字段名称是在表 11-1 中标识的。售卖搜索服务的有效字段名称是在表 11-2 中标识的。如果定义了定制字段,请使用 emf.custom-key 作为字段名称。

4. 对于不希望包含在默认查找中的字段,删除 copyField 元素。

5. 保存所做的更改。

6. 如果将查找服务部署到单独服务器上,请将 schema.xml 文件复制到部署了 Catalog Manager 或 Vending Manager 的服务器上。

对于 Catalog Manager,请从目录搜索服务中复制 schema.xml 文件。对于 Vending Manager,请从售卖搜索服务中复制 schema.xml 文件。

7. 重新启动查找服务以使更改可用。

根据进行更改的查找服务,请重新启动目录搜索服务或售卖搜索服务。

11.2.2 在查找索引中添加定制字段

如果为系统定义了定制字段,并且希望用户能够查找这些字段,您必须将其添加到查找索引中。查找引擎将使用 schema.xml 文件中的信息为每个查找服务创建索引。

要将定制字段添加到查找索引中,请执行以下操作:

1. 打开要设置的查找服务的 schema.xml 文件。

对于目录搜索服务,此文件位于 $CDS_HOME/deployment/deployment-name/conf/css/solr/conf 目录中。对于售卖搜索服务,此文件位于 $CDS_HOME/deployment/deployment-name/conf/vss/solr/conf 目录中。

2. 查找 fields 元素。

此元素包含 field 元素,用于指定查找引擎编索的字段,例如:

      <field name="ctype" type="text" indexed="true" stored="true"/> 

3. 对于要包含在查找索引中的每个定制字段,添加 field 元素。

下表列出了 field 元素的属性。


属性

描述

name

使用 emf.custom-key 格式的定制字段名称。有关信息,请参见 1.8 设置定制字段

type

字段的数据类型。以下列表显示了根据为定制字段指定的数据类型输入的值。

  • 对于定制字段类型 number,请使用 sfloat
  • 对于定制字段类型 text,请使用 text
  • 对于定制字段类型 timestamp,请使用 date
  • 对于定制字段类型 boolean,请使用 boolean

indexed

表示是否查找字段的标志。设置为 true 则在查找中包含定制字段。

stored

表示是否可检索字段的标志。设置为 true 则检索定制字段。

multiValued

表示字段能否包含多个值的标志。如果定制字段的范围为 edition,则设置为 true


 

例如,以下语句可将艺术家定制字段添加到查找模式中:


<field name="emf.artist" type="text" indexed="true" stored="true"/>

 

如果没有将定制字段定义为 Catalog Manager 或 Developer Portal 的可查看或可编辑字段,则不要在目录搜索服务的 schema.xml 文件中包含该字段。如果没有将定制字段定义为 Vending Manager 或 Subscriber Portal 的可查看或可编辑字段,则不要在售卖搜索服务的 schema.xml 文件中包含该字段。

4. (可选)启用字段排序。

如果定制字段的范围为 item,数据类型为 text,请按照下列步骤进行操作,以便按此字段对查找结果进行排序:

a. 在 name 属性中使用该定制字段名称并附加后缀 _exact,以便再添加一个 field 元素。

type 属性设置为 nonTokenizedSort,将 indexed 属性设置为 true,然后将 stored 属性设置为 false。例如,以下语句为艺术家定制字段添加了一个可排序字段:


<field name="emf.artist_exact" type="nonTokenizedSort" indexed="true" stored="false"/>

 

b. 在字段定义后面添加 copyField 元素,以便将定制字段复制到刚刚定义的字段中。

例如,以下语句将艺术家定制字段复制到上一步创建的 emf.artist_exact 字段中:

            <copyField source=”emf.artist” dest=”emf.artist_exact”/> 

5. 要在默认查找字段中包含定制字段,请参见 11.2.1 配置默认查找字段

6. 保存所做的更改。

7. 如果将查找服务部署到单独服务器上,请将 schema.xml 文件复制到部署了 Catalog Manager 或 Vending Manager 的服务器上。

对于 Catalog Manager,请从目录搜索服务中复制 schema.xml 文件。对于 Vending Manager,请从售卖搜索服务中复制 schema.xml 文件。

8. 设置为查找结果中的定制字段显示的列标题。

列标题是在以下属性文件中为每个门户设置的,这些文件位于 $CDS_HOME/deployment/deployment-name/localization 目录中:

对于显示该字段的每个门户,请将 search.column.title.emf.custom-key 属性设置为在显示查找结果时为定制字段显示的列标题。通常,它与 1.8.2 指定标签和提示中介绍的 emf.content-type.custom-key.label 属性所使用的字符串相同。

9. 重新启动查找服务以使更改可用。

根据进行更改的查找服务,请重新启动目录搜索服务或售卖搜索服务。



注 - 可能会在定义新字段以及将新字段添加到模式文件之间提交使用这些字段的内容。如果是这种情况,在更新查找模式后,请手动重新生成查找索引以确保它们包含正确的数据。有关重新生成查找索引的信息,请参见《Sun Javatrademark System Content Delivery Server 5.1 系统管理指南》中的第 1.4 节。