0

現在、Elasticsearch の音声分析ツールを使用しています。クエリで、音声一致よりも完全一致に高いスコアを与えるようにしたい。私が使用しているクエリは次のとおりです。


{
    "query": {
        "multi_match" : {
            "query" : "Abhijeet",
            "fields" : ["content", "title"]




        }
    },         
     "size": 10,
     "_source": [ "title", "bench", "court", "id_" ],
     "highlight": {
        "fields" : {
            "title" : {},
            "content":{}
        }
    }

}


を検索するAbhijeetと、上位のクエリはAbhijitであり、後でのみ表示されAbhijeetます。完全一致が最初に表示され、常に表示され、次に音声一致が表示されるようにします。これはできますか?

編集:

マッピング

{
    "courts_2": {
        "mappings": {
            "properties": {
                "author": {
                    "type": "text",
                    "analyzer": "my_analyzer"
                },
                "bench": {
                    "type": "text",
                    "analyzer": "my_analyzer"
                },
                "citation": {
                    "type": "text"
                },
                "content": {
                    "type": "text",
                    "analyzer": "my_analyzer"
                },
                "court": {
                    "type": "text"
                },
                "date": {
                    "type": "text"
                },
                "id_": {
                    "type": "text"
                },
                "title": {
                    "type": "text",
                    "analyzer": "my_analyzer"
                },
                "verdict": {
                    "type": "text"
                }
            }
        }
    }
}

音声アナライザーをセットアップするために使用したコードは次のとおりです。

{
    "settings": {
        "index": {
            "analysis": {
                "analyzer": {
                    "my_analyzer": {
                        "tokenizer": "standard",
                        "filter": [
                            "lowercase",
                            "my_metaphone"
                        ]
                    }
                },
                "filter": {
                    "my_metaphone": {
                        "type": "phonetic",
                        "encoder": "metaphone",
                        "replace": true
                    }
                }
            }
        }
    },
    "mappings": {
        "properties": {
            "author": {
                "type": "text",
                "analyzer": "my_analyzer"
            },
            "bench": {
                "type": "text",
                "analyzer": "my_analyzer"
            },
            "citation": {
                "type": "text"
            },
            "content": {
                "type": "text",
                "analyzer": "my_analyzer"
            },
            "court": {
                "type": "text"
            },
            "date": {
                "type": "text"
            },
            "id_": {
                "type": "text"
            },
            "title": {
                "type": "text",
                "analyzer": "my_analyzer"
            },
            "verdict": {
                "type": "text"
            }
        }
    }
}

titleここで、とcontentフィールドのみをクエリしたいと思います。ここでは、完全一致が最初に表示され、次に音声一致が表示されるようにします。

4

1 に答える 1