2016-08-04 109 views
0

是否有可能创建一个solr查询,其中只返回文档在多值字段中具有多个条目。例如:SOLR计数多值字段查询

docs: [ 
    { 
    id: 1, 
    myfield: ["hello word", "hello stackoverflow"] 
    }, 
    { 
    id: 2, 
    myfield: ["hello word"] 
    } 
] 

而我天真的样本查询只是为了说明我想要的东西:

/select?q=count(myfield.length, 'eq', 2) 

回答

1

是的但不是“开箱即用”。一个解决方案,以实现你正在寻找的是使用CountFieldValuesUpdateProcessorFactory以及在你的情况myfield_count调用一个新的字段。例如:

docs: [ 
    { 
    id: 1, 
    myfield: ["hello word", "hello stackoverflow"] 
    myfield_count: 2 
    }, 
    { 
    id: 2, 
    myfield: ["hello word"] 
    myfield_count: 1 
    } 
] 

之后,您可以简单地使用布尔函数来为myfield_count> 1过滤或计分。

+0

谢谢AR1,不是我正在寻找的解决方案,但我想它是唯一的方法。 – Mewel