はじめまして。
Kuromojiのオプションと、match phrase prefixが生成するクエリが影響しています。
Kuromojiデフォルトだとmode=searchとなっています(ドキュメント)。
この時、「関西国際空港」という単語が、「関西」「国際」「空港」と「関西国際空港」として出力されて、インデックスに登録されます。
この単語が出てきたときにフレーズのクエリを組み立てるときに、おかしな条件になり、うまくヒットしなくなるようです。
実際に投げられたクエリが内部的にどういう形になるのか?というのをValidate APIを利用することで見ることができます。
GET my_index1/_validate/query?explain=true
{
"query": {
"match_phrase_prefix": {
"val0": "東関西国際空港ターミナル"
}
}
}
回避策として、"mode"="normal"をkuromoji_tokenizerで指定すれば、match_phrase_prefixが動くようにはなります。代わりに、「関西」などで検索しても「関西国際空港」はヒットできなくなります。