在基于构面的搜索中,在搜索结果中,doc元素的字段值为字符串形式(多于单词),但在构面中,每个值都是字符串形式的单个字。 以下是样本搜索结果搜索结果
<result>
<doc>
<str name="fieldA">abc1 efg1 ijk1</str>
<str name="fieldA">abc2 efg2 ijk2</str>
<str name="fieldA">abc3 efg3 ijk3</str>
<arr name="fieldD">
<str>abc1 efg1 ijk1</str>
<str>abc2 efg2 ijk2</str>
<str>abc3 efg3 ijk3</str>
</arr>
</doc>
</result>
<lst name="facet_counts">
<lst name="facet_queries">
<int name="fieldB:ab">some_number</int>
</lst>
<lst name="facet_fields">
<lst name="fieldA">
<int name="abc1">1</int> I want <int name="abc1 efg1 ijk1">1</int>
<int name="efg1">1</int>
<int name="ijk1">1</int>
</lst>
</lst>
</lst>
Schema.xml包含字段 - fieldA,fieldB,fieldC和fieldD,如下所示
<field name="fieldA" type="text_general" stored="true" indexed="true"/>
<field name="fieldB" type="text_general" stored="true" indexed="true"/>
<field name="fieldC" type="text_general" stored="true" indexed="true"/>
<field name="fieldD" type="text_general" stored="true" indexed="true"/>
和
<copyField source="fieldA" dest="fieldD"/>
<copyField source="fieldB" dest="fieldD"/>
<copyField source="fieldC" dest="fieldD"/>
我想要多个字符串的facet值,就像字段值中多个单词的字符串一样。请建议。
答案 0 :(得分:13)
您必须将字段类型从type="text_general"
更改为type="string"
才能进行构面搜索。
如果您不能为该字段执行此操作,则可以创建一个新的字符串字段(可以是一个复制字段),然后在该字段上应用该方面。