SOLR:facet.field 对字段中的每个单词的作用不同,如何将 facet.field 应用于整个字段句子?
SOLR: facet.field is working for each word in a field differently, how to apply facet.field for whole field sentence?
在facet.field中,我添加了"MerchantName"字段,所以得到如下结果
"facet_fields":{
"MerchantName":[
"amazon",133281,
"factory",99566,
"club",99566,
"fashion",4905,
"swish",4905,
"store",1001,
"swank",1001,
"the",1001
]
}
在上面的数组中,"club factory"、"swish fashion"和"the swank store"在一个字段中,但是您可以看到一个数组将它们视为不同的词。
那么如何对returns具有整个字段值的数组的整个字段应用分面查询?
用于分面的字段MerchantName
。此字段应在 schema.xml
中定义为字符串 (type="string")
,以便 facet 使用整个文本。
当您使用字段类型为 text_general
的基于文本的字段时,该值将被拆分为多个标记。 MerchantName
字段也是如此。
否则会按照token化的方式进行划分
您还可以为字段 MerchantName
添加 docValues="true"
,然后每当该字段用于排序、分面或函数查询时,都会自动使用 DocValues。
对于分面 Solr 可以使用 DocValues
- 这是一种在内部记录字段值的特殊方式,对于某些目的,例如排序和分面,比传统索引更有效。
在facet.field中,我添加了"MerchantName"字段,所以得到如下结果
"facet_fields":{
"MerchantName":[
"amazon",133281,
"factory",99566,
"club",99566,
"fashion",4905,
"swish",4905,
"store",1001,
"swank",1001,
"the",1001
]
}
在上面的数组中,"club factory"、"swish fashion"和"the swank store"在一个字段中,但是您可以看到一个数组将它们视为不同的词。
那么如何对returns具有整个字段值的数组的整个字段应用分面查询?
用于分面的字段MerchantName
。此字段应在 schema.xml
中定义为字符串 (type="string")
,以便 facet 使用整个文本。
当您使用字段类型为 text_general
的基于文本的字段时,该值将被拆分为多个标记。 MerchantName
字段也是如此。
否则会按照token化的方式进行划分
您还可以为字段 MerchantName
添加 docValues="true"
,然后每当该字段用于排序、分面或函数查询时,都会自动使用 DocValues。
对于分面 Solr 可以使用 DocValues
- 这是一种在内部记录字段值的特殊方式,对于某些目的,例如排序和分面,比传统索引更有效。