私はelasticsearchをPythonでクライアントとして使用しています。私は会社のリストを照会したい。言う会社フィールド値iは、クエリの試合中にNを入れたときに私はNormnまたはNerthを得ることはありません(elasticsearch-DSLパイソンを使用して)文字を弾性検索で手紙で検索する
Gokl
Normn
Nerth
シナリオ1
s = Search(using=client, index="index-test") \
.query("match", Company="N")
です。私はおそらく言葉に基づいてトークン化のためだと思う。私はNormnを入力すると
(elasticsearch-DSLパイソンを使用して)シナリオ2
s = Search(using=client, index="index-test") \
.query("match", Company="Normn")
私は明らかに出力を得ます。では、上記のシナリオ1のように、文字nを入力すると検索を有効にするにはどうすればいいですか。
match'のみで動作します 'として、代わりに' query_string'を使用してみてください完全に索引付けされたトークンであり、一部ではありません。より複雑な方法では、インデックス作成時にedgeNGramトークンフィルタを使用する必要があります。 – Val
そして[documentation](https://www.elastic.co/guide/en/elasticsearch/guide/current/partial-matching.html)を読んでください。これは本当にうれしくて、多くの例があります。 –
クエリ文字列は、一致と同じ結果を示します。私はもうフィルターやマッピングを追加する –