@@ -1064,7 +1064,7 @@ object HttpExecutorSpec extends IntegrationSpec {
10641064 _ <- Executor .execute(ElasticRequest .bulk(req1, req2, req3).refreshTrue)
10651065 query = ElasticQuery .kNN(TestDocument .vectorField, 2 , 3 , Chunk (- 5.0 , 9.0 , - 12.0 ))
10661066 res <- Executor .execute(ElasticRequest .knnSearch(firstSearchIndex, query)).documentAs[TestDocument ]
1067- } yield ( assert(res)(equalTo(Chunk (firstDocumentUpdated, thirdDocumentUpdated) )))
1067+ } yield assert(res)(equalTo(Chunk (firstDocumentUpdated, thirdDocumentUpdated)))
10681068 }
10691069 } @@ around(
10701070 Executor .execute(
@@ -1092,7 +1092,7 @@ object HttpExecutorSpec extends IntegrationSpec {
10921092 res <- Executor
10931093 .execute(ElasticRequest .knnSearch(firstSearchIndex, query).filter(filter))
10941094 .documentAs[TestDocument ]
1095- } yield ( assert(res)(equalTo(Chunk (firstDocumentUpdated, secondDocumentUpdated) )))
1095+ } yield assert(res)(equalTo(Chunk (firstDocumentUpdated, secondDocumentUpdated)))
10961096 }
10971097 } @@ around(
10981098 Executor .execute(
@@ -1136,7 +1136,7 @@ object HttpExecutorSpec extends IntegrationSpec {
11361136 )
11371137 )
11381138 res <- Executor .execute(ElasticRequest .search(firstSearchIndex, query)).documentAs[TestDocument ]
1139- } yield ( assert(res)(equalTo(Chunk (secondDocumentUpdated, firstDocumentUpdated) )))
1139+ } yield assert(res)(equalTo(Chunk (secondDocumentUpdated, firstDocumentUpdated)))
11401140 }
11411141 } @@ around(
11421142 Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1162,7 +1162,7 @@ object HttpExecutorSpec extends IntegrationSpec {
11621162 )
11631163 ).boost(2.1 )
11641164 res <- Executor .execute(ElasticRequest .search(firstSearchIndex, query)).documentAs[TestDocument ]
1165- } yield ( assert(res)(Assertion .contains(document)) && assert(res)(! Assertion .contains(secondDocument) ))
1165+ } yield assert(res)(Assertion .contains(document)) && assert(res)(! Assertion .contains(secondDocument))
11661166 }
11671167 } @@ around(
11681168 Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1407,11 +1407,63 @@ object HttpExecutorSpec extends IntegrationSpec {
14071407 Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
14081408 Executor .execute(ElasticRequest .deleteIndex(firstSearchIndex)).orDie
14091409 ),
1410+ test(" search for a document using a simple query string query" ) {
1411+ checkOnce(genDocumentId, genTestDocument, genMultiWordString(), genDocumentId, genTestDocument) {
1412+ (firstDocumentId, firstDocument, multiWordString, secondDocumentId, secondDocument) =>
1413+ val firstDoc = firstDocument.copy(stringField = multiWordString)
1414+
1415+ for {
1416+ _ <- Executor .execute(ElasticRequest .upsert(firstSearchIndex, firstDocumentId, firstDoc))
1417+ _ <- Executor .execute(
1418+ ElasticRequest .upsert(firstSearchIndex, secondDocumentId, secondDocument).refreshTrue
1419+ )
1420+ searchTerm = multiWordString.split(" \\ s+" ).head
1421+ query = simpleQueryString(searchTerm).fields(Chunk (TestDocument .stringField))
1422+ res <- Executor .execute(ElasticRequest .search(firstSearchIndex, query)).documentAs[TestDocument ]
1423+ } yield assert(res)(Assertion .contains(firstDoc))
1424+ }
1425+ } @@ around(
1426+ Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
1427+ Executor .execute(ElasticRequest .deleteIndex(firstSearchIndex)).orDie
1428+ ),
1429+ test(" search for a document using a simple query string query with empty fields" ) {
1430+ checkOnce(genDocumentId, genTestDocument, genMultiWordString(), genDocumentId, genTestDocument) {
1431+ (firstDocumentId, firstDocument, multiWordString, secondDocumentId, secondDocument) =>
1432+ val firstDoc = firstDocument.copy(stringField = multiWordString)
1433+
1434+ for {
1435+ _ <- Executor .execute(ElasticRequest .upsert(firstSearchIndex, firstDocumentId, firstDoc))
1436+ _ <- Executor .execute(
1437+ ElasticRequest .upsert(firstSearchIndex, secondDocumentId, secondDocument).refreshTrue
1438+ )
1439+ searchTerm = multiWordString.split(" \\ s+" ).head
1440+ query = simpleQueryString(searchTerm)
1441+ res <- Executor .execute(ElasticRequest .search(firstSearchIndex, query)).documentAs[TestDocument ]
1442+ } yield assert(res)(Assertion .contains(firstDoc))
1443+ }
1444+ } @@ around(
1445+ Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
1446+ Executor .execute(ElasticRequest .deleteIndex(firstSearchIndex)).orDie
1447+ ),
1448+ test(" search for a document using a simple query string query with non-existent field" ) {
1449+ checkOnce(genDocumentId, genTestDocument, genMultiWordString()) { (docId, doc, multiWordString) =>
1450+ val docWithMultiWord = doc.copy(stringField = multiWordString)
1451+
1452+ for {
1453+ _ <- Executor .execute(ElasticRequest .upsert(firstSearchIndex, docId, docWithMultiWord).refreshTrue)
1454+ searchTerm = multiWordString.split(" \\ s+" ).head
1455+ query = simpleQueryString(searchTerm).fields(" nonExistentField" )
1456+ res <- Executor .execute(ElasticRequest .search(firstSearchIndex, query)).documentAs[TestDocument ]
1457+ } yield assert(res)(Assertion .isEmpty)
1458+ }
1459+ } @@ around(
1460+ Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
1461+ Executor .execute(ElasticRequest .deleteIndex(firstSearchIndex)).orDie
1462+ ),
14101463 test(" search for a document which contains a term using a wildcard query" ) {
14111464 checkOnce(genDocumentId, genTestDocument, genDocumentId, genTestDocument) {
14121465 (firstDocumentId, firstDocument, secondDocumentId, secondDocument) =>
14131466 for {
1414- _ <- Executor .execute(ElasticRequest .deleteByQuery(firstSearchIndex, matchAll))
14151467 _ <- Executor .execute(
14161468 ElasticRequest .upsert[TestDocument ](firstSearchIndex, firstDocumentId, firstDocument)
14171469 )
@@ -1437,7 +1489,6 @@ object HttpExecutorSpec extends IntegrationSpec {
14371489 checkOnce(genDocumentId, genTestDocument, genDocumentId, genTestDocument) {
14381490 (firstDocumentId, firstDocument, secondDocumentId, secondDocument) =>
14391491 for {
1440- _ <- Executor .execute(ElasticRequest .deleteByQuery(firstSearchIndex, matchAll))
14411492 _ <- Executor .execute(
14421493 ElasticRequest .upsert[TestDocument ](firstSearchIndex, firstDocumentId, firstDocument)
14431494 )
@@ -1533,7 +1584,7 @@ object HttpExecutorSpec extends IntegrationSpec {
15331584 )
15341585 query = matchBooleanPrefix(TestDocument .stringField, " this is test bo" )
15351586 res <- Executor .execute(ElasticRequest .search(firstSearchIndex, query)).documentAs[TestDocument ]
1536- } yield ( assert(res)(Assertion .contains(document)) && assert(res)(! Assertion .contains(secondDocument) ))
1587+ } yield assert(res)(Assertion .contains(document)) && assert(res)(! Assertion .contains(secondDocument))
15371588 }
15381589 } @@ around(
15391590 Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1619,7 +1670,7 @@ object HttpExecutorSpec extends IntegrationSpec {
16191670 value = s " ${firstDocument.stringField} te "
16201671 )
16211672 res <- Executor .execute(ElasticRequest .search(firstSearchIndex, query)).documentAs[TestDocument ]
1622- } yield ( assert(res)(Assertion .contains(document)) && assert(res)(! Assertion .contains(secondDocument) ))
1673+ } yield assert(res)(Assertion .contains(document)) && assert(res)(! Assertion .contains(secondDocument))
16231674 }
16241675 } @@ around(
16251676 Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1642,7 +1693,7 @@ object HttpExecutorSpec extends IntegrationSpec {
16421693 query =
16431694 multiMatch(value = " test" ).fields(TestDocument .stringField).matchingType(BestFields )
16441695 res <- Executor .execute(ElasticRequest .search(firstSearchIndex, query)).documentAs[TestDocument ]
1645- } yield ( assert(res)(Assertion .contains(document)) && assert(res)(! Assertion .contains(secondDocument) ))
1696+ } yield assert(res)(Assertion .contains(document)) && assert(res)(! Assertion .contains(secondDocument))
16461697 }
16471698 } @@ around(
16481699 Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1878,9 +1929,9 @@ object HttpExecutorSpec extends IntegrationSpec {
18781929 res <- Executor
18791930 .execute(ElasticRequest .search(firstSearchIndex, query))
18801931 .documentAs[TestDocument ]
1881- } yield ( assert(res)(Assertion .contains(firstDocument)) && assert(res)(
1932+ } yield assert(res)(Assertion .contains(firstDocument)) && assert(res)(
18821933 ! Assertion .contains(secondDocument)
1883- ))
1934+ )
18841935 }
18851936 } @@ around(
18861937 Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
0 commit comments