Files
spring-data-examples/mongodb/text-search
Christoph Strobl f625317445 #8 - Switch to local source data for text search.
Remove online resources and just rely on local data. Though we had to keep the BlogPostInitializer for setting up the tests only using the template without repository support.

Original pull request: #18.
2014-09-09 09:51:12 -05:00
..

Spring Data MongoDB - Text Search Examples

This project contains samples of text search specific features of Spring Data Mongodb.

Support for Text Index

Define text index structures manually (like below) or use @TextIndexed to mark content to be indexed for full text search.

TextIndexDefinition textIndex = new TextIndexDefinitionBuilder()
  .onField("title", 3F)
  .onField("content", 2F)
  .onField("categories")
  .build();

template.indexOps(BlogPost.class).ensureIndex(textIndex);

Support for full text repository queries

Use derived finder methods to search for terms and phrases.

interface BlogPostRepository extends CrudRepository<BlogPost, String> {

    // page through results for full text query
	Page<BlogPost> findBy(TextCriteria criteria, Pageable page);

    // find all matching documents and sort by relevance
	List<BlogPost> findAllByOrderByScoreDesc(TextCriteria criteria);
}