在Alfresco的高级搜索中关联多个属性

时间:2016-06-03 09:41:00

标签: alfresco

我已成功将自定义表单添加到Alfresco的高级搜索界面,但我遇到了问题。这是我的自定义表单(search-config-custom.xml):

<config evaluator="model-type" condition="cv:document">
   <forms>
      <form id="search">
         <field-visibility>
            <show id="cv:appl_name" />
            <show id="cv:appl_surn" />
            <show id="cv:appl_phone" />
            <show id="cv:appl_lang_1" />
            <show id="cv:appl_level_1" />
            <show id="cv:appl_lang_2" />
            <show id="cv:appl_level_2" />
            <show id="cv:appl_lang_3" />
            <show id="cv:appl_level_3" />
         </field-visibility>
      </form>
   </forms>
</config>

表格基本上是询问有关求职者的资料。申请人可以在他们的个人资料中输入最多三种外语,并为他们指定熟练程度。

现在,问题在于:让招聘人员想要搜索西班牙语水平较高的候选人。由于我现在有了自己的表格,他们必须在三个语言栏目中输入“西班牙语”才能获得可靠的结果,因为事先并不知道候选人输入语言的顺序(如果有的话)。

所以,我正在寻找一种方法来拥有一个可以自动搜索所有不同语言字段的字段,这样我就可以简单地使用“语言1”,“语言2”和“语言3”。将“语言”作为单个搜索字段。然后,语言字段应该与他们尊重的级别相关联,我真的不知道如何做到这一点。

以下是自定义搜索表单查询的内容模型:

<types>
   <type name="cv:document">
      <title>Job Application</title>
      <parent>cm:content</parent>

      <properties>
         <property name="cv:appl_name">
            <title>Applicant's first name</title>
            <type>d:text</type>
         </property>
         <property name="cv:appl_surn">
            <title>Applicant's last name</title>
            <type>d:text</type>
         </property>
            <property name="cv:appl_phone">
            <title>Applicant's phone number</title>
         <type>d:text</type>
         </property>
            <property name="cv:appl_lang_1">
            <title>Language 1</title>
         <type>d:text</type>
         </property>
         <property name="cv:appl_level_1">
            <title>Level for Language 1</title>
            <type>d:text</type>
         </property>
         <property name="cv:appl_level_2">
            <title>Level for Language 2</title>
            <type>d:text</type>
         </property>
         <property name="cv:appl_level_3">
            <title>Level for Language 3</title>
            <type>d:text</type>
         </property>        
      </properties>
   </type>
</types>

我正在运行Alfresco 5.0.0。

1 个答案:

答案 0 :(得分:0)

您可以编辑SOLR模式以添加一个新的SOLR字段,该字段将填充所有语言。然后,您将查询该单个字段。

例如。

<field  name="all" type="text___" indexed="true" omitNorms="false"  stored="false"  multiValued="true" />
<copyField source="*" dest="all" />