質問: Elasticsearch Analyze APIでkuromoji形態素解析を試す https://qiita.com/tsgkdt/items/8f6f172b1f53bd608e0a こちらで、紹介されているように、関西国際空港と検索Queryを走らせると、 「関西」「国際」「空港」「関西国際空港」と分解され検索が走りますが、 このそれぞれの単語をor検索してしまうため、 「名古屋空港」「国際フォーラム」などを引っ掛けてしまいます。 indexのmappingか検索QueryにAndで検索させる方法はないでしょうか? よろしくお願いします。
回答: お使いのElasticsearchのバージョンが分からないのですが、 やりたいこととしては、関西国際空港という文字の並びでヒットさせたい、ということでしょうか。 その場合でしたら match_phraseクエリを使うか、QueryStringの場合は、target_field:"関西国際空港" などと「”」で括ってみてください。 match_phraseの書き方はこちらを参考になさってください。 https://www.elastic.co/guide/en/elasticsearch/reference/6.5/query-dsl-match-query-phrase.html