solr - 使用过滤器查询 Solr 进行分组
问题描述
我在 solr 中有文件,如下所述
文件 1
{ "event_name":"查看的产品", "event_property":["category","product_name","product_code","price","brand","color","discount","is_new_visitor"], "event_value ":["类别-太阳镜","product_name-david blake 灰色太阳镜","product_code-lcsgdb364x1880gryx""price-590","brand-david blake","color-grey","discount-70"], " session_id":"mf1545212054754888840", "company_id":"31", "created":1545212153, "email":"zzzz@gmail.com", "name":"zzzz" }
文件 2
{ "event_name":"添加到购物车", "event_property":["category","product_name","product_code","price","brand","color","discount","is_new_visitor"], " event_value":["category-sunglasses","product_name-david blake 灰色太阳镜","product_code-lcsgdb364x1880gryx""price-590","brand-david blake","color-grey","discount-70"], “session_id”:“mf1545212054754888840”,“company_id”:“31”,“created”:1545212153,“email”:“zzz@gmail.com”,“name”:“zzzzz”}
文件 3
{ "event_name":"查看的产品", "event_property":["category","product_name","product_code","price","brand","color","discount","is_new_visitor"], "event_value ":["类别-太阳镜","product_name-david blake 灰色太阳镜","product_code-lcsgdb364x1880gryx""price-590","brand-david blake","color-grey","discount-70"], " session_id":"mf1545212054754888841", "company_id":"31", "created":1545212153, "email":"yyyy@gmail.com", "name":"xxxxxx" } 文档有用户在事件键。现在我需要使用过滤器查询对电子邮件进行分组以查找唯一的电子邮件。我使用了下面提到的查询
http://solr-url/solr/solr-core/select?q=*:*&fq=((event_name:"product+viewed"
+AND+event_property:"product_name"+AND+event_value:"category-sunglasses")+AND+(event_name:"add+to+cart"+AND+event_property:"product_name"+AND+event_value:"category-sunglasses"))&group.limit=1&group.ngroups=true&group=true&group.field=email
作为回应,我没有收到电子邮件,例如执行这两个事件的用户,例如“产品查看”和“添加到购物车”。
解决方案
只需检查您的查询,过滤查询应该是 AND,应该是 OR。
fq=((event_name:"product+viewed" +AND+event_property:"product_name"+AND+event_value:"category-sunglasses")+ OR +(event_name:"add+to+cart"+AND+event_property:"product_name "+AND+event_value:"类别-太阳镜"))
推荐阅读
- vb.net - Visual Basic 如何在显示 MsgBox 后停止事件
- html - 如何将字体真棒图标作为表情符号添加到文本区域
- algorithm - 查找三角形内的纠缠数
- c# - 如何将新的吊销证书插入 .crl 文件?
- azure - 从本地环境连接到 Azure Blob
- javascript - 你如何使用 Hacker Rank 来输出正确的代码?
- go - 如何解决 Go 中的分段违规?
- python - 出现消息框时如何禁用我的 TopLevel 窗口?
- python-3.x - 如何替换数据中的缺失值?
- printing - 字体字距调整 > 在 DrawString System.Drawing 中更改字符间距