【发布时间】:2015-04-24 18:31:15
【问题描述】:
我有以下 ElasticSearch 查询:
{
"from": 0,
"sort": [
"_score"
],
"fields": [
"id",
"title",
"text"
],
"query": {
"query_string": {
"fields": [
"title",
"text"
],
"query": "(\"green socks\" OR \"red socks\") AND NOT (\"yellow\" OR \"blue\")"
}
},
"size": 100
}
这工作正常,并返回一组大约 80,000 个文档的文档。
我想根据这组 80,000 个文档(即匹配 "query": "(\"green socks\" OR \"red socks\") AND NOT (\"yellow\" OR \"blue\")") 的文档集:
- 为每个“绿色袜子”计算编号。 80,000 份文件中至少包含一次“绿色袜子”。
- 为每个“红袜子”计算编号。 80,000 份文件中至少包含一次“红袜子”。
- 以此类推,对于上述查询字符串“左侧”中的所有其他单词/短语。
- 实际上每个查询字符串中大约有 50 - 100 个这样的单词/短语,所以我实际运行的查询字符串中还有另外 50 - 100 个这样的“red socks”单词/短语。
这感觉像是一个聚合查询,但我就是看不到它。
非常感谢您的任何帮助,
谢谢,
回复
【问题讨论】:
标签: elasticsearch full-text-search data-mining word-frequency