如何使用任何全文查询进行过滤?

kyl*_*lex 0 elasticsearch

我已尝试过多种方法来使用全文查询进行过滤,但无济于事.这是我尝试过的:

{
    "_source": "_id",
    "query": {
        "filtered": {
            "multi_match": {
                "query": "test search query",
                "fields": ["title"]
            },
            "filter": {
                "term": {"user_id": "1"}
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Val*_*Val 5

filtered查询需要一个filterquery,你错过了query它包装的一部分multi_match:

{
    "_source": "_id",
    "query": {
        "filtered": {
            "query": {               <-- add this
                "multi_match": {
                    "query": "test search query",
                    "fields": ["title"]
                }
            },
            "filter": {
                "term": {"user_id": "1"}
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)