こんにちは私のウェブサイトで検索バーを作ろうとしています。私には何千もの会社の記事があります。私はこのコードを実行すると:弾性検索凝集とフィルター
GET articles/_search
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "assistant",
"fields": ["title"]
}
}
]
}
},
"size": 0,
"aggs": {
"by_company": {
"terms": {
"field": "company.keyword",
"size": 10
}
}
}
}
を結果は次のとおりです。
"aggregations": {
"by_company": {
"doc_count_error_upper_bound": 5,
"sum_other_doc_count": 409,
"buckets": [
{
"key": "University of Miami",
"doc_count": 6
},
{
"key": "Brigham & Women's Hospital(BWH)",
"doc_count": 4
},
は、だから今、私はマイアミ大学のフィルタ記事をしたいので、私は次のクエリを実行します。
GET indeed_psql/job/_search
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "assistant",
"fields": ["title"]
}
}
],
"filter": {
"term": {
"company.keyword": "University of Miami"
}
}
}
},
"size": 0,
"aggs": {
"by_company": {
"terms": {
"field": "company.keyword",
"size": 10
}
}
}
}
しかし、今結果は:
"aggregations": {
"by_company": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "University of Miami",
"doc_count": 7
}
]
}
前回の集計で突然7人がなぜ6人だったのですか?これは他の大学のフィルタでも起こります。私は間違って何をしていますか?私は標準的なトークナイザを使用していないし、フィルタからenglish_stemmer、english_stopwords、english_keywordsを使用する。ご協力いただきありがとうございます。
ありがとうございます。 Uは今日を救った:) –