Как искать поля с подстановочными знаками и пробелами в Hibernate Search

У меня есть окно поиска, которое выполняет поиск по полю заголовка на основе заданного ввода, поэтому пользователь рекомендует все доступные заголовки, начиная с вставленного текста. Он основан на Lucene и Hibernate Search. Работает нормально, пока не введено пространство. Тогда результат исчезнет. Например, я хочу, чтобы «Learning H» дал мне «Learning Hibernate» в результате. Однако этого не происходит. не могли бы вы посоветовать мне, что я должен использовать здесь вместо этого.

Конструктор запросов:

QueryBuilder qBuilder = fullTextSession.getSearchFactory()
        .buildQueryBuilder().forEntity(LearningGoal.class).get();
  Query query = qBuilder.keyword().wildcard().onField("title")
        .matching(searchString + "*").createQuery();

  BooleanQuery bQuery = new BooleanQuery();
  bQuery.add(query, BooleanClause.Occur.MUST);
  for (LearningGoal exGoal : existingGoals) {
     Term omittedTerm = new Term("id", String.valueOf(exGoal.getId()));
     bQuery.add(new TermQuery(omittedTerm), BooleanClause.Occur.MUST_NOT);
  }
  @SuppressWarnings("unused")
  org.hibernate.Query hibQuery = fullTextSession.createFullTextQuery(
        query, LearningGoal.class);

Спящий класс:

@AnalyzerDef(name = "searchtokenanalyzer",tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
filters = {
  @TokenFilterDef(factory = StandardFilterFactory.class),
  @TokenFilterDef(factory = LowerCaseFilterFactory.class),
  @TokenFilterDef(factory = StopFilterFactory.class,params = { 
      @Parameter(name = "ignoreCase", value = "true") }) })
      @Analyzer(definition = "searchtokenanalyzer")
public class LearningGoal extends Node {

Ответы на вопрос(2)

Ваш ответ на вопрос