Skip to content

Instantly share code, notes, and snippets.

@thjanssen
Last active October 30, 2020 13:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save thjanssen/8f688bbf4d9f40e01234c8932abb7ce2 to your computer and use it in GitHub Desktop.
Save thjanssen/8f688bbf4d9f40e01234c8932abb7ce2 to your computer and use it in GitHub Desktop.
@AnalyzerDef(
name = “textanalyzer”,
tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
filters = {
@TokenFilterDef(factory = LowerCaseFilterFactory.class),
@TokenFilterDef(factory = SnowballPorterFilterFactory.class,
params = { @Parameter(name = “language”, value = “English”) })
}
)
FullTextEntityManager fullTextEm = Search.getFullTextEntityManager(em);
QueryBuilder tweetQb = fullTextEm.getSearchFactory().buildQueryBuilder().forEntity(Tweet.class).get();
Query fullTextQuery = tweetQb.keyword().onField(Tweet_.message.getName()).matching(searchTerm).createQuery();
List<Tweet> results = fullTextEm.createFullTextQuery(fullTextQuery, Tweet.class).getResultList();
@Indexed
@Entity
public class Tweet {
@Column
@Field(analyzer = @Analyzer(definition = “textanalyzer”))
private String message;
...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment