我有一个包含大量关键字的数组字段,我需要根据这些数组中某个关键字重复的次数对文档进行排序。例如,如果我的字段名是“国籍”,而对于文档1,则由以下doc1国籍组成:
["US","UK","Australia","India","US","US"]至于doc2国籍:
["US","UK","US","US","US","China"]我只想把那些文件显示在"US“这个词出现超过3次的地方。这将只显示doc2。怎么做?
发布于 2015-06-22 12:13:15
您可以使用脚本来实现这一点。
{
"query": {
"filtered": {
"filter": {
"script": {
"script": "_index['nationality']['US'].tf() > 3"
}
}
}
}
}在这段文字中,数组“国籍”被检查为"US“,计数由tf (术语频率)进行。现在,结果中只显示了术语频率大于3的文档。您可以了解有关筛选操作这里的更多信息。
https://stackoverflow.com/questions/30949939
复制相似问题