29

フィールド設定を使用して、検索に必要なフィールドだけを含めることを知っていますhttp://www.elasticsearch.org/guide/reference/api/search/fields/

...しかし、逆のことができるかどうか疑問に思っていました...どうにかして、クエリ結果に含めたくない1つまたは2つのフィールドを指定します(たとえば、添付ファイルなど)。除外するフィールドを指定するだけでよいのに、必要なすべてのフィールドから 1 つまたは 2 つ引いた値を入力しなければならないのは苦痛に思えます。

4

2 に答える 2

32

ソース フィルタリングを使用できます (v. 1.6 および v. 1.7 でテスト済み): https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html

{
    "_source": {
        "include": [ "obj1.*", "obj2.*" ],
        "exclude": [ "*.description" ]
    },
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

GET リクエストでも使用できます。

curl "localhost:9200/myindex/mytype/66a8f299870b4cab?_source_exclude=file._content&pretty"

前の例では、添付ファイル フィールドのファイル コンテンツを除外しています。

于 2015-08-31T22:16:28.923 に答える