gpt4 book ai didi

elasticsearch - ElasticSearch:如何按分析字段的术语汇总整个字符串?

转载 作者:行者123 更新时间:2023-12-02 22:46:34 24 4
gpt4 key购买 nike

我有一个分析字段,例如,将其命名为“座右铭”。我想全文搜索“生活”并按计数进行汇总。

...
"query":{
"term":{
"motto":"life"
}
},
"aggs": {
"match_count": {
"terms": "motto"
}
}
...

我想要的结果是:
...
{
...
"buckets": [
{
"key":"life is good",
"doc_count":3
}
]
...
}
...

结果实际上是:
{
...
"buckets": [
{
"key": "life",
"doc_count": 3
},
{
"key": "good",
"doc_count": 3
},
{
"key": "is",
"doc_count": 3
}
]
...
}

如何按照自己的方式汇总它们?

最佳答案

您可以做的是在not_analyzed字段中创建一个motto子字段,如下所示:

curl -XPUT localhost:9200/your_index/your_type/_mapping -d '{
"your_type": {
"properties": {
"motto": {
"type": "string",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}'

完成后,您需要重新索引数据以填充 motto.raw子字段。

最后,您将能够运行这样的查询,即在 motto上进行搜索,但在 motto.raw上进行聚合:
...
"query":{
"term":{
"motto":"life"
}
},
"aggs": {
"match_count": {
"terms": { "field": "motto.raw" }
}
}
...

关于elasticsearch - ElasticSearch:如何按分析字段的术语汇总整个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35860435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com