elasticSearch を使用して用語 (GoogleEarth または googleearch) を検索したいと思います。
クエリ「Google」を検索しようとすると、NGram または EdgeNGram なしでは結果が得られません。
多くの結果が得られるため、nGram は使用したくありません。だから今、私はブールクエリとマルチマッチクエリを使用しています。この場合、単語の一部だけでは結果が得られません。「Google Earth」または「Google」または「Earth」を検索して、GoogleEarth を取得できることを願っています。どうすればこれを入手できますか?
ここで、クエリ「GoogleEarth」を使用して正しい結果を取得します。用語が含まれていれば検索したい。
.setQuery(QueryBuilders.boolQuery().should(QueryBuilders.multiMatchQuery(query,
'title','name','tag')))
アップデート
完全一致に基づいて用語を検索しようとしました。「google」を検索すると、「google***」「googleearth」などを取得したい。edgeNGram または nGram を使用すると、関連性の低い結果が得られる可能性があります。したがって、可能であれば、nGram や edgeNGram は使用したくありません。あなたはなにか考えはありますか?