分面时如何不将短语分解为单词

How not to break phrase into word when do faceting

全部:

我是 Solr 分面搜索的新手,当我指定一些将短语作为值的分面字段时,我如何才能将值视为整个短语而不是单词并且只有 return 一个分面。例如:

如果我有包含以下字段的文档: { "category": "baby toy"}, {"category": "clothes"}

结果 returned 将如下所示:

["baby", 0, "boy", 0, "clothes", 1]

我想知道为什么它会这样工作以及如何将其更改为我上面提到的,例如:

["baby boy", 1, "clothes", 1]

谢谢

您用于分面的字段应在 schema.xml 中定义为字符串 (type="string"),以便分面使用整个文本。否则它会根据它被标记化的方式来划分它。

分面字段应作为一个整体进行索引。所以在你的schema.xml检查你是如何token-zing这个领域。 您应该使用 Keyword Tokenizer 将整个文本字段作为单个标记进行索引。

参考 https://cwiki.apache.org/confluence/display/solr/Tokenizers#Tokenizers-KeywordTokenizer