solr - 在 SOLR facet.pivot 分组中获得意外输出
问题描述
我正在尝试使用facet.pivot选项对 Solr 中的字段进行分组。当实际数据中没有特殊字符时,它按预期工作。如果实际数据中有任何特殊字符,则输出将分成许多。
下面是我尝试使用 facet.pivot 分组的 url。这里 escalation_dl 是包含一些特殊字符的电子邮件地址
/select?facet=true&facet.limit=-1&facet.pivot=job_name,escalation_dl&q=*:*
实际输出:
"field":"job_name",
"value":"test_job1",
"count":1,
"pivot":[{
"field":"escalation_dl",
"value":"test",
"count":1},
{
"field":"escalation_dl",
"value":"gmail.com",
"count":1}]}
预期产出
"field":"job_name",
"value":"test_job1",
"count":1,
"pivot":[{
"field":"escalation_dl",
"value":"test@gmail.com",
"count":1}]}
解决方案
这是因为您正在处理的字段具有一个字段类型,该字段类型带有一个 Tokenizer 和附加的过滤器(例如默认text_general
字段)。string
为您想要分面的任何字段使用一个字段,因为这将使值保持您期望的完整。
推荐阅读
- python - 在嵌套交叉验证后应用置换测试
- c++ - 最小可执行文件文件对齐 (MSVC 2019)
- android - 更改作为 BottomAppBar 一部分的浮动操作按钮下方的背景颜色
- javascript - 如何通过单击包含它的 div 来选中/取消选中复选框?
- javascript - 如何在画布中绘制第一个视频的帧?
- python - 生成日志 Python
- html - 我应该如何找到从日期到今天的时间?
- oracle - 更改默认 Sid,新建连接对话框,oracle sqldeveloper
- sql - 看起来相似的2个条件之间的差异
- react-native - 用函数或类反应原生屏幕?