Package org.neo4j.index.lucene

Examples of org.neo4j.index.lucene.QueryContext


            T entity = creator.create();
            if ( i % 5000 == 5 )
            {
                index.query( new TermQuery( new Term( "name", "The name " + i ) ) );
            }
            IteratorUtil.lastOrNull( (Iterable<T>) index.query( new QueryContext( new TermQuery( new Term( "name", "The name " + i ) ) ).tradeCorrectnessForSpeed() ) );
            IteratorUtil.lastOrNull( (Iterable<T>) index.get( "name", "The name " + i ) );
            index.add( entity, "name", "The name " + i );
            index.add( entity, "title", "Some title " + i );
            index.add( entity, "something", i + "Nothing" );
            index.add( entity, "else", i + "kdfjkdjf" + i );
View Full Code Here


    public void shouldNotGetLatestTxModificationsWhenChoosingSpeedQueries()
    {
        Index<Node> index = nodeIndex( "indexFooBar", LuceneIndexImplementation.EXACT_CONFIG );
        Node node = graphDb.createNode();
        index.add( node, "key", "value" );
        QueryContext queryContext = new QueryContext( "value" ).tradeCorrectnessForSpeed();
        assertThat( index.query( "key", queryContext ), isEmpty() );
        assertThat( index.query( "key", "value" ), contains( node ) );
    }
View Full Code Here

        index.add( trinity, "sex", "female" );
       
        for ( int i = 0; i < 2; i++ )
        {
            assertThat( index.query( "username:*@matrix AND sex:male" ), contains( neo ) );
            assertThat( index.query( new QueryContext( "username:*@matrix sex:male" ).defaultOperator( Operator.AND ) ), contains( neo ) );
            assertThat( index.query( "username:*@matrix OR sex:male" ), contains( neo, trinity ) );
            assertThat( index.query( new QueryContext( "username:*@matrix sex:male" ).defaultOperator( Operator.OR ) ), contains( neo, trinity ) );

            restartTx();
        }
        index.delete();
    }
View Full Code Here

        index.add( node3, "foo", "yes" );
        index.add( node3, "bar", "yes" );
        restartTx();

        IndexHits<Node> hits = index.query(
                new QueryContext( "+name:something foo:yes bar:yes" ).sort( Sort.RELEVANCE ) );
        assertEquals( node3, hits.next() );
        assertEquals( node2, hits.next() );
        assertEquals( node1, hits.next() );
        assertFalse( hits.hasNext() );
        index.delete();
View Full Code Here

        index.add( eva, sex, "female" );
        index.add( eva, other, "ddd" );
       
        for ( int i = 0; i < 2; i++ )
        {
            assertContainsInOrder( index.query( new QueryContext( "name:*" ).sort( name, title ) ), adam2, adam, eva, jack );
            assertContainsInOrder( index.query( new QueryContext( "name:*" ).sort( name, other ) ), adam, adam2, eva, jack );
            assertContainsInOrder( index.query( new QueryContext( "name:*" ).sort( sex, title ) ), eva, jack, adam2, adam );
            assertContainsInOrder( index.query( name, new QueryContext( "*" ).sort( sex, title ) ), eva, jack, adam2, adam );
            assertContainsInOrder( index.query( new QueryContext( "name:*" ).sort( name, title ).top( 2 ) ), adam2, adam );

            restartTx();
        }
    }
View Full Code Here

        // Where the heck did I get this sentence from?
        index.add( node1, key, "a time where no one was really awake" );
        index.add( node2, key, "once upon a time there was" );
        restartTx();
       
        IndexHits<Node> hits = index.query( key, new QueryContext( "once upon a time was" ).sort( Sort.RELEVANCE ) );
        Node hit1 = hits.next();
        float score1 = hits.currentScore();
        Node hit2 = hits.next();
        float score2 = hits.currentScore();
        assertEquals( node2, hit1 );
View Full Code Here

        index.add( rel6, key, rel6.getProperty( key ) );
        String query = "one two three four five six seven";
       
        for ( int i = 0; i < 2; i++ )
        {
            assertContainsInOrder( index.query( key, new QueryContext( query ).top( 3 ).sort(
                    Sort.RELEVANCE ) ), rel1, rel2, rel3 );
            restartTx();
        }
    }
View Full Code Here

        index.add( second, key, "bbb" );
        restartTx();
        index.add( fourth, key, "ddd" );
        index.add( first, key, "aaa" );
       
        assertContainsInOrder( index.query( key, new QueryContext( "*" ).sort( key ) ), first, second, third, fourth );
        assertContainsInOrder( index.query( key, new QueryContext( "*" ).sort( key ).top( 2 ) ), first, second );
    }
View Full Code Here

     * in the result is disabled by default, but can be enabled using
     * {@link QueryContext#tradeCorrectnessForSpeed()}.
     */
    public IndexHits<T> query( String key, Object queryOrQueryObject )
    {
        QueryContext context = queryOrQueryObject instanceof QueryContext ?
                (QueryContext) queryOrQueryObject : null;
        return query( type.query( key, context != null ?
                context.getQueryOrQueryObject() : queryOrQueryObject, context ), null, null, context );
    }
View Full Code Here

        }

        public IndexHits<Relationship> query( String key, Object queryOrQueryObjectOrNull,
                Node startNodeOrNull, Node endNodeOrNull )
        {
            QueryContext context = queryOrQueryObjectOrNull != null &&
                    queryOrQueryObjectOrNull instanceof QueryContext ?
                            (QueryContext) queryOrQueryObjectOrNull : null;
                   
            BooleanQuery query = new BooleanQuery();
            if ( (context != null && context.getQueryOrQueryObject() != null) ||
                    (context == null && queryOrQueryObjectOrNull != null ) )
            {
                query.add( type.query( key, context != null ?
                        context.getQueryOrQueryObject() : queryOrQueryObjectOrNull, context ), Occur.MUST );
            }
            addIfNotNull( query, startNodeOrNull, KEY_START_NODE_ID );
            addIfNotNull( query, endNodeOrNull, KEY_END_NODE_ID );
            return query( query, (String) null, null, context );
        }
View Full Code Here

TOP

Related Classes of org.neo4j.index.lucene.QueryContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.