How Come match_phrase does not work when "." present?

I have a field called "name".

I run a match_phrase with name query "17p13". It finds a record with exactly that name and another with "(del)17p13", but NOT one with "17p13.1".

"name" mapping is set to text.

This seems illogical.
Is it broken?

I guess this is bug. I will open a bug report.

I don't think it is but it probably depends on the mapping and analyzer.

Could you provide a full recreation script as described in About the Elasticsearch category. It will help to better understand what you are doing. Please, try to keep the example as simple as possible.

A full reproduction script will help readers to understand, reproduce and if needed fix your problem. It will also most likely help to get a faster answer.

Your testers should be able to check their test cases and add this condition. As the statement says, match_phrase does not work when there is a dot in the value. Pretty straightforward situation. And it does not work at all.

Really up to you. I was just trying to help. If you don't need help to fix your queries or your mapping, that's fine. I can mark this thread as solved if you wish.

Looks like it might be something with the mapping. A quick couple of curl commands shows it worked on a new index. I'm pretty sure the mappings for the tested field are the same between my populated index and the test index, so I guess this requires more digging. It's not obvious what is interfering with the search results here. Just thought I would bring it to list attention in case there is a known issue or other remedy.

That's why I recommend sharing a full reproduction script. It helps you to reproduce or not the problem. If the later, then you can may be find by yourself the solution.

In either case, asking here with a full script will help us to understand and help you to fix the problem in the fastest way as possible.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.