use of com.baeldung.spring.data.es.model.Article in project tutorials by eugenp.
the class ElasticSearchIntegrationTest method givenTagFilterQuery_whenSearchByAuthorsName_thenArticleIsFound.
@Test
public void givenTagFilterQuery_whenSearchByAuthorsName_thenArticleIsFound() {
final Page<Article> articleByAuthorName = articleService.findByAuthorsNameAndFilteredTagQuery("Doe", "elasticsearch", new PageRequest(0, 10));
assertEquals(2L, articleByAuthorName.getTotalElements());
}
use of com.baeldung.spring.data.es.model.Article in project tutorials by eugenp.
the class ElasticSearchIntegrationTest method givenSavedDoc_whenDelete_thenRemovedFromIndex.
@Test
public void givenSavedDoc_whenDelete_thenRemovedFromIndex() {
final String articleTitle = "Spring Data Elasticsearch";
final SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchQuery("title", articleTitle).minimumShouldMatch("75%")).build();
final List<Article> articles = elasticsearchTemplate.queryForList(searchQuery, Article.class);
assertEquals(1, articles.size());
final long count = articleService.count();
articleService.delete(articles.get(0));
assertEquals(count - 1, articleService.count());
}
use of com.baeldung.spring.data.es.model.Article in project tutorials by eugenp.
the class ElasticSearchIntegrationTest method givenPersistedArticles_whenUseRegexQuery_thenRightArticlesFound.
@Test
public void givenPersistedArticles_whenUseRegexQuery_thenRightArticlesFound() {
final SearchQuery searchQuery = new NativeSearchQueryBuilder().withFilter(regexpQuery("title", ".*data.*")).build();
final List<Article> articles = elasticsearchTemplate.queryForList(searchQuery, Article.class);
assertEquals(1, articles.size());
}
use of com.baeldung.spring.data.es.model.Article in project tutorials by eugenp.
the class ElasticSearchQueryIntegrationTest method givenPhraseWithType_whenUseFuzziness_thenQueryMatches.
@Test
public void givenPhraseWithType_whenUseFuzziness_thenQueryMatches() {
final SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchQuery("title", "spring date elasticserch").operator(AND).fuzziness(Fuzziness.ONE).prefixLength(3)).build();
final List<Article> articles = elasticsearchTemplate.queryForList(searchQuery, Article.class);
assertEquals(1, articles.size());
}
use of com.baeldung.spring.data.es.model.Article in project tutorials by eugenp.
the class ElasticSearchQueryIntegrationTest method givenFullTitle_whenRunMatchQueryOnVerbatimField_thenDocIsFound.
@Test
public void givenFullTitle_whenRunMatchQueryOnVerbatimField_thenDocIsFound() {
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchQuery("title.verbatim", "Second Article About Elasticsearch")).build();
List<Article> articles = elasticsearchTemplate.queryForList(searchQuery, Article.class);
assertEquals(1, articles.size());
searchQuery = new NativeSearchQueryBuilder().withQuery(matchQuery("title.verbatim", "Second Article About")).build();
articles = elasticsearchTemplate.queryForList(searchQuery, Article.class);
assertEquals(0, articles.size());
}
Aggregations