我使用elasticsearch来存储我的数据。我想数一下我文件中的字数。但我希望看到没有停用词的结果。例如;在我目前的结果中,我看到'和'是我的首要任务。但我想删除它。目前我的stopword.txt中有3802个停用词。我不希望它们中的任何一个显示在聚合结果中。我怎样才能做到这一点?我当前的查询;
{
"query": {
"bool": {
"must": [
{
"range": {
"date": {
"gte": "now-0d/d"
}
}
}
]
}
},
"aggs": {
"words": {
"terms": {
"size" : 0,
"field": "text"
}
}
}
}
我希望查询工作的方式是;
{
"aggs": {
"filtered": {
"query": {
"bool": {
"must": [
{
"range": {
"date": {
"gte": "now-0d/d"
}
}
}
]
}
},
"filter": {
"my_stop": {
"type": "stop",
"stopwords_path": "/work/projects/stop_words.txt"
}
},
"aggs": {
"words": {
"terms": {
"size" : 0,
"field": "text"
}
}
}
}
}
}
顺便说一下,我的自定义分析器中有我的停用词列表。但它没有按照我想要的方式工作。