LuceneQueryMaker(SearchIntegrator searchFactory, FieldBridgeAndAnalyzerProvider<TypeMetadata> fieldBridgeAndAnalyzerProvider) { if (searchFactory == null) { throw new IllegalArgumentException("searchFactory argument cannot be null"); } this.fieldBridgeAndAnalyzerProvider = fieldBridgeAndAnalyzerProvider; this.queryContextBuilder = searchFactory.buildQueryBuilder(); this.searchFactory = searchFactory; }
LuceneQueryMaker(SearchIntegrator searchFactory, FieldBridgeAndAnalyzerProvider<TypeMetadata> fieldBridgeAndAnalyzerProvider) { if (searchFactory == null) { throw new IllegalArgumentException("searchFactory argument cannot be null"); } this.fieldBridgeAndAnalyzerProvider = fieldBridgeAndAnalyzerProvider; this.queryContextBuilder = searchFactory.buildQueryBuilder(); this.searchFactory = searchFactory; }
@Override public EntityContext buildQueryBuilderForClass(Class<?> entityType) { queryInterceptor.enableClasses(entityType); return searchFactory.buildQueryBuilder().forEntity(entityType); }
@Override public EntityContext buildQueryBuilderForClass(Class<?> entityType) { queryInterceptor.enableClasses(new Class[] { entityType }); return searchFactory.buildQueryBuilder().forEntity(entityType); }
private static LuceneQueryRendererDelegate getRendererDelegate(SearchIntegrator searchFactory, FieldBridgeProvider fieldBridgeProvider, EntityNamesResolver entityNames, Map<String, Object> namedParameters, LucenePropertyHelper propertyHelper) { SingleEntityQueryBuilder<Query> queryBuilder = SingleEntityQueryBuilder.getInstance( new LucenePredicateFactory( searchFactory.buildQueryBuilder(), entityNames, fieldBridgeProvider ), propertyHelper ); return new LuceneQueryRendererDelegate( entityNames, queryBuilder, namedParameters, propertyHelper ); } }
public QueryBuilder queryBuilder(Class<?> clazz) { return integratorProvider.get().buildQueryBuilder().forEntity( clazz ).get(); }
@Benchmark @Threads(20) public void queryBooksByBestRating(QueryEngineHolder eh, Blackhole bh) { SearchIntegrator searchIntegrator = eh.si; Query luceneQuery = searchIntegrator.buildQueryBuilder() .forEntity( BookEntity.class ) .get() .all() .createQuery(); long expectedIndexSize = eh.getExpectedIndexSize(); int maxResults = eh.getMaxResults(); HSQuery hsQuery = searchIntegrator.createHSQuery( luceneQuery, BookEntity.class ); hsQuery.sort( new Sort( new SortField( "rating", SortField.Type.FLOAT, true ) ) ); hsQuery.maxResults( maxResults ); int queryResultSize = hsQuery.queryResultSize(); List<EntityInfo> queryEntityInfos = hsQuery.queryEntityInfos(); if ( eh.isQuerySync() && queryResultSize != expectedIndexSize ) { throw new RuntimeException( "Unexpected index size" ); } if ( maxResults != queryEntityInfos.size() ) { throw new RuntimeException( "Unexpected resultset size" ); } bh.consume( queryEntityInfos ); }
@Benchmark @GroupThreads(5) @Group("concurrentReadWriteTest") public void readWriteTestReader(QueryEngineHolder eh, Blackhole bh) { SearchIntegrator searchIntegrator = eh.si; Query luceneQuery = searchIntegrator.buildQueryBuilder() .forEntity( BookEntity.class ) .get() .all() .createQuery(); int maxResults = eh.getMaxResults(); HSQuery hsQuery = searchIntegrator.createHSQuery( luceneQuery, BookEntity.class ); hsQuery.maxResults( maxResults ); int queryResultSize = hsQuery.queryResultSize(); List<EntityInfo> queryEntityInfos = hsQuery.queryEntityInfos(); bh.consume( queryEntityInfos ); bh.consume( queryResultSize ); }
@Benchmark @GroupThreads(2 * AbstractBookEntity.TYPE_COUNT) @Group("concurrentReadWriteTest") public void readWriteTestReader(NonStreamWriteEngineHolder eh, NonStreamQueryParams qp, Blackhole bh) { SearchIntegrator searchIntegrator = eh.getSearchIntegrator(); Class<?> entityType = qp.getEntityType(); Query luceneQuery = searchIntegrator.buildQueryBuilder() .forEntity( entityType ) .get() .all() .createQuery(); int maxResults = qp.getQueryMaxResults(); HSQuery hsQuery = searchIntegrator.createHSQuery( luceneQuery, entityType ); hsQuery.maxResults( maxResults ); int queryResultSize = hsQuery.queryResultSize(); List<EntityInfo> queryEntityInfos = hsQuery.queryEntityInfos(); bh.consume( queryEntityInfos ); bh.consume( queryResultSize ); }
@Benchmark @Threads(6 * AbstractBookEntity.TYPE_COUNT) public void queryBooksByBestRating(NonStreamWriteEngineHolder eh, NonStreamQueryParams qp, Blackhole bh) { SearchIntegrator searchIntegrator = eh.getSearchIntegrator(); Class<?> entityType = qp.getEntityType(); Query luceneQuery = searchIntegrator.buildQueryBuilder() .forEntity( entityType ) .get() .all() .createQuery(); int maxResults = qp.getQueryMaxResults(); HSQuery hsQuery = searchIntegrator.createHSQuery( luceneQuery, entityType ); hsQuery.sort( new Sort( new SortField( "rating", SortField.Type.FLOAT, true ) ) ); hsQuery.maxResults( maxResults ); int queryResultSize = hsQuery.queryResultSize(); List<EntityInfo> queryEntityInfos = hsQuery.queryEntityInfos(); bh.consume( queryResultSize ); bh.consume( queryEntityInfos ); }
Query luceneQuery2 = searchFactory.buildQueryBuilder().forEntity(ProtobufValueWrapper.class).get() .keyword() .onField("name")