2016-04-19 29 views
0

単語の一部による全文検索のためにelasticsearchをどのようにクエリできますか?例えばelasticsearch全文検索単語の一部

私はこれらの文書を持っている場合、私はこの

{ 
    query: { 
     query_string: { 
      query: 'first' 
     } 
    } 
} 

のように検索する場合

{ 
    name: "A1" 
    desc: "This is first document" 
} 
{ 
    name: "A2" 
    desc: "This is second document" 
} 

それは私の最初の文書を返しますが、私は

{ 
    query: { 
     query_string: { 
      query: 'fir' 
     } 
    } 
} 

Itを検索しようとすると、何も返さない。 クエリを使ってngramsなどのパラメータをマッピングせずにこれを解決するにはどうすればいいですか?

あなたは

+0

ワイルドカードで検索しようとしましたか?つまり、「fir *」ですか?好奇心のために、なぜngramを使いたくないのですか? [これを参照してください](http://stackoverflow.com/questions/36706903/how-to-handle-wildcards-in-elastic-search-structured-queries) – Val

+0

私はそれらを使用することはできません私は彼らが仕事をしなかったと私は傾けるなぜ理解してもらえますか? – Gor

+0

もちろん、ngramの問題で別の質問を作成しても構いません。 – Val

答えて

1

あなたはこのように、それは動作しますが、代わりにワイルドカードで試してみてくださいありがとうございました。

{ 
    query: { 
     query_string: { 
      query: 'fir*' 
     } 
    } 
} 

それ以外の場合は、use ngramsです。これははるかに優れています。

関連する問題