2017-02-20 10 views
0

誰も私にelasticsearch-jsで厳密に一致する方法を教えてもらえますか?ここに私の検索でノードの弾性検索厳密な一致

client.search({{ 
    index: 'hash_tag', 
    type: 'hash_tag', 
    lenient:false, 
    body: { 
    query: { 
     match: { 
     tag_name: 'hash tag 1' 
     } 
    } 
    } 
}).then(function (body) { 
    console.log("body", JSON.stringify(body)); 
    }, function (error) { 
    console.trace(error.message); 
}) 

このクエリ検索のいずれか私は、正確な文字列全体のmatch.hereを探しています1ハッシュタグは、私の例インデックススタイルです。デフォルトelasticsearchによって

{ 
    "_index": "hash_tag", 
    "_type": "hash_tag", 
    "_id": "3483", 
    "_score": 0.019691018, 
    "_source": { 
    "id": "3483", 
    "labels": [ 
     "hash_tag" 
    ], 
    "tag_name": "hash tag 2" 
    } 
} 

答えて

0

あなたが使用した各期の結果を得る理由です、転置インデックスに追加し、あなたのテキストフィールドを「トークン化」します。

あなたは異なるアプローチを持つことができ、完全な一致を得るために、最も簡単なのは使用することですmatch_frase

GET /megacorp/employee/_search 
{ 
"query" : { 
    "match_phrase" : { 
     "about" : "rock climbing" 
    } 
    } 
} 

別のオプションは、not_analyzedのマッピングと、その特定のフィールドを追加することですテキストはトークン化されません。

+0

これは機能します。マルコスに感謝する – shivshankar

関連する問題