diff --git a/spring-data-postgres-fulltext-search/src/main/java/de/rieckpil/blog/CommentController.java b/spring-data-postgres-fulltext-search/src/main/java/de/rieckpil/blog/CommentController.java index 604857ee..915bde56 100644 --- a/spring-data-postgres-fulltext-search/src/main/java/de/rieckpil/blog/CommentController.java +++ b/spring-data-postgres-fulltext-search/src/main/java/de/rieckpil/blog/CommentController.java @@ -23,7 +23,7 @@ public class CommentController { @GetMapping public List getCommentsContainingText(@RequestParam("q") String queryText) { - List list = em.createQuery("SELECT c FROM Comment c where fts(c.commentText, :commentText) = true", Comment.class) + List list = em.createQuery("SELECT c FROM Comment c where fts(english, c.commentText, :commentText) = true", Comment.class) .setParameter("commentText", queryText).getResultList(); return list; diff --git a/spring-data-postgres-fulltext-search/src/main/java/de/rieckpil/blog/PostgreSQLFTSFunction.java b/spring-data-postgres-fulltext-search/src/main/java/de/rieckpil/blog/PostgreSQLFTSFunction.java index ecdcb90f..bf1b363d 100644 --- a/spring-data-postgres-fulltext-search/src/main/java/de/rieckpil/blog/PostgreSQLFTSFunction.java +++ b/spring-data-postgres-fulltext-search/src/main/java/de/rieckpil/blog/PostgreSQLFTSFunction.java @@ -26,16 +26,16 @@ public boolean hasParenthesesIfNoArguments() { return false; } - @SuppressWarnings("rawtypes") @Override public String render(Type type, List args, SessionFactoryImplementor factory) throws QueryException { - if (args == null || args.size() != 2) { + if (args == null || args.size() != 3) { throw new IllegalArgumentException("The function must be passed 2 arguments"); } - String field = (String) args.get(0); - String searchString = (String) args.get(1); - return field + " @@ to_tsquery(" + searchString + ")"; + String language = (String) args.get(0); + String field = (String) args.get(1); + String searchString = (String) args.get(2); + return field + " @@ to_tsquery('" + language + "', " + searchString + ")"; } } \ No newline at end of file diff --git a/spring-data-postgres-fulltext-search/src/main/resources/application.yml b/spring-data-postgres-fulltext-search/src/main/resources/application.yml index b3bcb719..3ec4df53 100644 --- a/spring-data-postgres-fulltext-search/src/main/resources/application.yml +++ b/spring-data-postgres-fulltext-search/src/main/resources/application.yml @@ -4,4 +4,4 @@ spring: password: postgres url: jdbc:postgresql://localhost:5432/postgres jpa: hibernate: ddl-auto: validate properties: hibernate: - dialect: de.rieckpil.blog.ExtendedPostgreSQLDialect \ No newline at end of file + dialect: de.rieckpil.blog.ExtendedPostgreSQLDialect show-sql: true \ No newline at end of file diff --git a/spring-data-postgres-fulltext-search/src/main/resources/data.sql b/spring-data-postgres-fulltext-search/src/main/resources/data.sql index e69de29b..682715ca 100644 --- a/spring-data-postgres-fulltext-search/src/main/resources/data.sql +++ b/spring-data-postgres-fulltext-search/src/main/resources/data.sql @@ -0,0 +1 @@ +INSERT INTO comment (id, comment_text, created_at) VALUES (1, to_tsvector('english', 'Out believe has request not how comfort evident. Up delight cousins we feeling minutes. Genius has looked end piqued spring. Down has rose feel find man. Learning day desirous informed expenses material returned six the. She enabled invited exposed him another. Reasonably conviction solicitude me mr at discretion reasonable. Age out full gate bed day lose.') ,NOW());