@@ -1064,7 +1064,7 @@ object HttpExecutorSpec extends IntegrationSpec {
1064
1064
_ <- Executor .execute(ElasticRequest .bulk(req1, req2, req3).refreshTrue)
1065
1065
query = ElasticQuery .kNN(TestDocument .vectorField, 2 , 3 , Chunk (- 5.0 , 9.0 , - 12.0 ))
1066
1066
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)))
1068
1068
}
1069
1069
} @@ around(
1070
1070
Executor .execute(
@@ -1092,7 +1092,7 @@ object HttpExecutorSpec extends IntegrationSpec {
1092
1092
res <- Executor
1093
1093
.execute(ElasticRequest .knnSearch(firstSearchIndex, query).filter(filter))
1094
1094
.documentAs[TestDocument ]
1095
- } yield ( assert(res)(equalTo(Chunk (firstDocumentUpdated, secondDocumentUpdated) )))
1095
+ } yield assert(res)(equalTo(Chunk (firstDocumentUpdated, secondDocumentUpdated)))
1096
1096
}
1097
1097
} @@ around(
1098
1098
Executor .execute(
@@ -1136,7 +1136,7 @@ object HttpExecutorSpec extends IntegrationSpec {
1136
1136
)
1137
1137
)
1138
1138
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)))
1140
1140
}
1141
1141
} @@ around(
1142
1142
Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1162,7 +1162,7 @@ object HttpExecutorSpec extends IntegrationSpec {
1162
1162
)
1163
1163
).boost(2.1 )
1164
1164
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))
1166
1166
}
1167
1167
} @@ around(
1168
1168
Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1407,11 +1407,63 @@ object HttpExecutorSpec extends IntegrationSpec {
1407
1407
Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
1408
1408
Executor .execute(ElasticRequest .deleteIndex(firstSearchIndex)).orDie
1409
1409
),
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
+ ),
1410
1463
test(" search for a document which contains a term using a wildcard query" ) {
1411
1464
checkOnce(genDocumentId, genTestDocument, genDocumentId, genTestDocument) {
1412
1465
(firstDocumentId, firstDocument, secondDocumentId, secondDocument) =>
1413
1466
for {
1414
- _ <- Executor .execute(ElasticRequest .deleteByQuery(firstSearchIndex, matchAll))
1415
1467
_ <- Executor .execute(
1416
1468
ElasticRequest .upsert[TestDocument ](firstSearchIndex, firstDocumentId, firstDocument)
1417
1469
)
@@ -1437,7 +1489,6 @@ object HttpExecutorSpec extends IntegrationSpec {
1437
1489
checkOnce(genDocumentId, genTestDocument, genDocumentId, genTestDocument) {
1438
1490
(firstDocumentId, firstDocument, secondDocumentId, secondDocument) =>
1439
1491
for {
1440
- _ <- Executor .execute(ElasticRequest .deleteByQuery(firstSearchIndex, matchAll))
1441
1492
_ <- Executor .execute(
1442
1493
ElasticRequest .upsert[TestDocument ](firstSearchIndex, firstDocumentId, firstDocument)
1443
1494
)
@@ -1533,7 +1584,7 @@ object HttpExecutorSpec extends IntegrationSpec {
1533
1584
)
1534
1585
query = matchBooleanPrefix(TestDocument .stringField, " this is test bo" )
1535
1586
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))
1537
1588
}
1538
1589
} @@ around(
1539
1590
Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1619,7 +1670,7 @@ object HttpExecutorSpec extends IntegrationSpec {
1619
1670
value = s " ${firstDocument.stringField} te "
1620
1671
)
1621
1672
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))
1623
1674
}
1624
1675
} @@ around(
1625
1676
Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1642,7 +1693,7 @@ object HttpExecutorSpec extends IntegrationSpec {
1642
1693
query =
1643
1694
multiMatch(value = " test" ).fields(TestDocument .stringField).matchingType(BestFields )
1644
1695
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))
1646
1697
}
1647
1698
} @@ around(
1648
1699
Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
@@ -1878,9 +1929,9 @@ object HttpExecutorSpec extends IntegrationSpec {
1878
1929
res <- Executor
1879
1930
.execute(ElasticRequest .search(firstSearchIndex, query))
1880
1931
.documentAs[TestDocument ]
1881
- } yield ( assert(res)(Assertion .contains(firstDocument)) && assert(res)(
1932
+ } yield assert(res)(Assertion .contains(firstDocument)) && assert(res)(
1882
1933
! Assertion .contains(secondDocument)
1883
- ))
1934
+ )
1884
1935
}
1885
1936
} @@ around(
1886
1937
Executor .execute(ElasticRequest .createIndex(firstSearchIndex)),
0 commit comments