0

キーワードに空白を含める必要があるが、代わりに隣接して入力する Elasticsearch の正しいクエリを作成するにはどうすればよいですか。例えば

"thisisaquery" -> "これはクエリです"

私の現在の設定は次のとおりです。

"settings": {
    "index": {
        "analysis": {
            "analyzer": {
                "autocomplete": {
                    "tokenizer": "whitespace",
                    "filter": [
                        "lowercase", "engram"
                    ]
                }
            },
            "filter": {
                "engram": {
                    "type": "edgeNGram",
                    "min_gram": 3,
                    "max_gram": 10
                }
            }
        }
    }
}
4

2 に答える 2

0

この Ruby プロジェクトは、これを行うと主張しています。Rubyを使用している場合は試してみるか、コードを見てアナライザー設定をコピーしてください:)

https://github.com/ankane/searchkick

于 2013-07-25T05:39:35.417 に答える
0

あなたが求めているものを明示的に処理するためのすぐに使えるトークナイザー/トークンフィルターはありません。最も近いのは、辞書ファイルを手動で提供する必要がある複合語トークン フィルターです。この場合、完全な英語辞書が正しく機能する必要があります。それでも、多くの追加ロジックがなければ、他の単語の語幹である単語、略語などで問題が発生する可能性があります。正確な要件によっては、それで十分かもしれません。

于 2013-05-17T15:16:03.997 に答える