diff --git a/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java b/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java index 1ea493e6610..2c773810901 100644 --- a/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java +++ b/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java @@ -263,6 +263,6 @@ public class MultiMatchQuery extends MatchQuery { } protected boolean forceAnalyzeQueryString() { - return this.queryBuilder.forceAnalyzeQueryString(); + return this.queryBuilder == null ? super.forceAnalyzeQueryString() : this.queryBuilder.forceAnalyzeQueryString(); } } \ No newline at end of file diff --git a/src/test/java/org/elasticsearch/search/query/MultiMatchQueryTests.java b/src/test/java/org/elasticsearch/search/query/MultiMatchQueryTests.java index 09d65f8d497..92c24ccff7d 100644 --- a/src/test/java/org/elasticsearch/search/query/MultiMatchQueryTests.java +++ b/src/test/java/org/elasticsearch/search/query/MultiMatchQueryTests.java @@ -210,6 +210,15 @@ public class MultiMatchQueryTests extends ElasticsearchIntegrationTest { assertHitCount(searchResponse, 2l); } + @Test + public void testSingleField() { + SearchResponse searchResponse = client().prepareSearch("test") + .setQuery(randomizeType(multiMatchQuery("15", "skill"))).get(); + assertNoFailures(searchResponse); + assertFirstHit(searchResponse, hasId("theone")); + // TODO we need equivalence tests with match query here + } + @Test public void testCutoffFreq() throws ExecutionException, InterruptedException { final long numDocs = client().prepareCount("test")