有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何确定令牌在哪些索引字段中匹配?

我使用“Hibernate搜索”搜索对象的所有字段

我的问题是:

 final org.apache.lucene.search.Query luceneQuery = qb
          .keyword().wildcard()
          .onFields( fields )
          .matching( valueToSearch )
          .createQuery();

 // wrap Lucene query in a javax.persistence.Query
 final javax.persistence.Query jpaQuery =
            fullTextEntityManager.createFullTextQuery( luceneQuery, Vorgang.class );

 // execute search
 final List<Vorgang> resultList = new ArrayList<>();

 ((List<Vorgang>) jpaQuery.getResultList()).stream().filter( t -> projektIds.contains( t.getProjektFk().getId() ) )
            .forEach( vorgang -> resultList.add( vorgang ) );

我想知道在哪个领域有比赛

我的想法是:

final List<Vorgang> resultList = new ArrayList<>();
for ( final String field : fields )
{
   final org.apache.lucene.search.Query luceneQuery = qb
          .keyword().wildcard()
          .onField( field )
          .matching( valueToSearch )
          .createQuery();

   // wrap Lucene query in a javax.persistence.Query
   final javax.persistence.Query jpaQuery =
          fullTextEntityManager.createFullTextQuery( luceneQuery, Vorgang.class );

   // execute search
   ((List<Vorgang>) jpaQuery.getResultList()).stream().filter( t -> projektIds.contains( t.getProjektFk().getId() ) )
          .forEach( vorgang -> resultList.add( vorgang ) );
}

但是性能不好。 我想知道比赛的场地


共 (0) 个答案