当前位置: 首页>>代码示例>>Java>>正文


Java BatchInserterIndexProvider类代码示例

本文整理汇总了Java中org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider的典型用法代码示例。如果您正苦于以下问题:Java BatchInserterIndexProvider类的具体用法?Java BatchInserterIndexProvider怎么用?Java BatchInserterIndexProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


BatchInserterIndexProvider类属于org.neo4j.unsafe.batchinsert包,在下文中一共展示了BatchInserterIndexProvider类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testInsertionSpeed

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
@Ignore
@Test
public void testInsertionSpeed() throws Exception
{
    BatchInserter inserter = BatchInserters.inserter( dbRule.getStoreDirAbsolutePath() );
    BatchInserterIndexProvider provider = new LuceneBatchInserterIndexProvider( inserter );
    BatchInserterIndex index = provider.nodeIndex( "yeah", EXACT_CONFIG );
    index.setCacheCapacity( "key", 1000000 );
    long t = currentTimeMillis();
    for ( int i = 0; i < 1000000; i++ )
    {
        Map<String, Object> properties = map( "key", "value" + i );
        long id = inserter.createNode( properties );
        index.add( id, properties );
    }
    System.out.println( "insert:" + ( currentTimeMillis() - t ) );
    index.flush();

    t = currentTimeMillis();
    for ( int i = 0; i < 1000000; i++ )
    {
        count( (Iterator<Long>) index.get( "key", "value" + i ) );
    }
    System.out.println( "get:" + ( currentTimeMillis() - t ) );
}
 
开发者ID:neo4j-contrib,项目名称:neo4j-lucene5-index,代码行数:26,代码来源:BatchInsertionIT.java

示例2: testBatchIndexToAutoIndex

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
@Test
public void testBatchIndexToAutoIndex() throws IOException {
  BatchInserter inserter = BatchInserters.inserter(new File(path));
  BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter);
  BatchInserterIndex index =
      indexProvider.nodeIndex("node_auto_index", MapUtil.stringMap("type", "exact"));
  long node = inserter.createNode(MapUtil.map("foo", "bar"));
  index.add(node, MapUtil.map("foo", "bar"));
  index.flush();
  assertThat("Batch indexed node can be retrieved", index.get("foo", "bar").next(), is(node));
  indexProvider.shutdown();
  inserter.shutdown();
  graphDb = getGraphDb();
  try (Transaction tx = graphDb.beginTx()) {
    assertThat("AutoIndex is not enabled after reopening the graph", graphDb.index()
        .getNodeAutoIndexer().isEnabled(), is(false));
    assertThat("AutoIndexed properties are not maintained after closing the graph", graphDb
        .index().getNodeAutoIndexer().getAutoIndexedProperties(), is(empty()));
    assertThat("Batch index properties are in the index", graphDb.index().getNodeAutoIndexer()
        .getAutoIndex().query("foo", "bar").size(), is(1));
    tx.success();
  }
}
 
开发者ID:SciGraph,项目名称:SciGraph,代码行数:24,代码来源:Neo4jIndexingTest.java

示例3: initValueIndex

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
protected void initValueIndex() throws DMPGraphException {

		try {

			final Tuple<BatchInserterIndex, BatchInserterIndexProvider> valuesIndexTuple = getOrCreateIndex(GraphIndexStatics.VALUES_INDEX_NAME,
					GraphStatics.VALUE, true, 1);
			values = valuesIndexTuple.v1();
			valuesProvider = valuesIndexTuple.v2();
		} catch (final Exception e) {

			final String message = "couldn't load indices successfully";

			BatchNeo4jProcessor.LOG.error(message, e);
			BatchNeo4jProcessor.LOG.debug("couldn't finish writing successfully");

			throw new DMPGraphException(message);
		}
	}
 
开发者ID:dswarm,项目名称:dswarm-graph-neo4j,代码行数:19,代码来源:BatchNeo4jProcessor.java

示例4: initStatementIndex

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
private void initStatementIndex() throws DMPGraphException {

		try {

			final Tuple<BatchInserterIndex, BatchInserterIndexProvider> statementUUIDsIndexTuple = getOrCreateIndex(GraphIndexStatics.STATEMENT_UUIDS_INDEX_NAME, GraphStatics.UUID, false, 1);
			statementUUIDs = statementUUIDsIndexTuple.v1();
			statementUUIDsProvider = statementUUIDsIndexTuple.v2();
		} catch (final Exception e) {

			final String message = "couldn't load indices successfully";

			BatchNeo4jProcessor.LOG.error(message, e);
			BatchNeo4jProcessor.LOG.debug("couldn't finish write TX successfully");

			throw new DMPGraphException(message);
		}
	}
 
开发者ID:dswarm,项目名称:dswarm-graph-neo4j,代码行数:18,代码来源:BatchNeo4jProcessor.java

示例5: batchInsert

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
@Test
public void batchInsert() throws Exception
{
    Neo4jTestCase.deleteFileOrDirectory( new File(
            "target/neo4jdb-batchinsert" ) );
    // START SNIPPET: batchInsert
    BatchInserter inserter = BatchInserters.inserter( "target/neo4jdb-batchinsert" );
    BatchInserterIndexProvider indexProvider =
            new LuceneBatchInserterIndexProvider( inserter );
    BatchInserterIndex actors =
            indexProvider.nodeIndex( "actors", MapUtil.stringMap( "type", "exact" ) );
    actors.setCacheCapacity( "name", 100000 );

    Map<String, Object> properties = MapUtil.map( "name", "Keanu Reeves" );
    long node = inserter.createNode( properties );
    actors.add( node, properties );

    //make the changes visible for reading, use this sparsely, requires IO!
    actors.flush();

    // Make sure to shut down the index provider as well
    indexProvider.shutdown();
    inserter.shutdown();
    // END SNIPPET: batchInsert

    GraphDatabaseService db = new TestGraphDatabaseFactory().newEmbeddedDatabase( "target/neo4jdb-batchinsert" );
    try ( Transaction tx = db.beginTx() )
    {
        Index<Node> index = db.index().forNodes( "actors" );
        Node reeves = index.get( "name", "Keanu Reeves" ).next();
        assertEquals( node, reeves.getId() );
    }
    db.shutdown();
}
 
开发者ID:neo4j-contrib,项目名称:neo4j-lucene5-index,代码行数:35,代码来源:ImdbDocTest.java

示例6: createLegacyNodeIndex

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
/**
 * 
 * @param neo4ArtLegacyIndex
 * @param cacheKey
 * @param cacheSize
 * @return
 */
public static void createLegacyNodeIndex(Neo4ArtLegacyIndex neo4ArtLegacyIndex, String cacheKey, int cacheSize)
{
  BatchInserterIndexProvider batchInserterIndexProvider = getBatchInserterIndexProviderInstance();

  BatchInserterIndex index = batchInserterIndexProvider.nodeIndex(neo4ArtLegacyIndex.getName(), getLegacyNodeIndexConfig(neo4ArtLegacyIndex.getType()));

  if (cacheSize != 0)
  {
    index.setCacheCapacity(cacheKey, cacheSize);
  }
}
 
开发者ID:neo4art,项目名称:neo4art,代码行数:19,代码来源:Neo4ArtBatchInserterSingleton.java

示例7: BatchHandler

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
public BatchHandler(BatchInserter db2, int indexCache, int timeout) {
	this.db = db2;
	this.indexCache = indexCache;
	this.timeout = timeout;

	BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(db);
	index = indexProvider.nodeIndex("ttlIndex", MapUtil.stringMap("type", "exact"));
	index.setCacheCapacity(URI_PROPERTY, indexCache + 1);

}
 
开发者ID:semr,项目名称:neo4jena,代码行数:11,代码来源:BatchHandler.java

示例8: registerShutdownHook

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
private static void registerShutdownHook(final BatchInserter graphDb,
                                         final BatchInserterIndexProvider indexProvider) {
    Runtime.getRuntime().addShutdownHook(new Thread() {
        @Override
        public void run() {
            graphDb.shutdown();
            indexProvider.shutdown();
        }
    });
}
 
开发者ID:inveniosoftware-contrib,项目名称:obelix,代码行数:11,代码来源:ObelixBatchImport.java

示例9: getBatchIndexer

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
public BatchInserterIndexProvider getBatchIndexer() {
	return batchindexer;
}
 
开发者ID:mondo-project,项目名称:mondo-hawk,代码行数:4,代码来源:Neo4JDatabase.java

示例10: getOrCreateIndex

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
protected Tuple<BatchInserterIndex, BatchInserterIndexProvider> getOrCreateIndex(final String name, final String property,
                                                                                 final boolean nodeIndex, final int cachSize) {

	final BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter);
	final BatchInserterIndex index;

	if (nodeIndex) {

		index = indexProvider.nodeIndex(name, MapUtil.stringMap("type", "exact"));
	} else {

		index = indexProvider.relationshipIndex(name, MapUtil.stringMap("type", "exact"));
	}

	index.setCacheCapacity(property, cachSize);

	return Tuple.tuple(index, indexProvider);
}
 
开发者ID:dswarm,项目名称:dswarm-graph-neo4j,代码行数:19,代码来源:BatchNeo4jProcessor.java

示例11: run

import org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider; //导入依赖的package包/类
public static void run(final String neo4storage,
        final String redisQueueName, final String redisHost) {

    ObelixQueue redisQueueManager = new RedisObelixQueue(redisQueueName, redisHost);

    Label userLabel = DynamicLabel.label("User");
    Label itemLabel = DynamicLabel.label("Item");

    Map<String, Long> usersNodesMap = new HashMap<>();
    Map<String, Long> itemsNodesMap = new HashMap<>();
    Map<String, Long> relationshipsMap = new HashMap<>();

    Map<String, String> config = new HashMap<>();
    config.put("neostore.nodestore.db.mapped_memory", "2G");
    config.put("neostore.relationshipstore.db.mapped_memory", "9G");
    config.put("neostore.propertystore.db.mapped_memory", "800M");
    config.put("neostore.propertystore.db.strings.mapped_memory", "800M");
    config.put("neostore.propertystore.db.arrays.mapped_memory", "500M");

    BatchInserter inserter;

    inserter = BatchInserters.inserter(neo4storage, config);

    BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter);

    registerShutdownHook(inserter, indexProvider);

    BatchInserterIndex usersIndex = indexProvider.nodeIndex("users",
            MapUtil.stringMap("type", "exact"));
    usersIndex.setCacheCapacity("node_id", NEO_CACHE_CAPACITY);

    BatchInserterIndex itemsIndex = indexProvider.nodeIndex("items",
            MapUtil.stringMap("type", "exact"));
    usersIndex.setCacheCapacity("node_id", NEO_CACHE_CAPACITY);

    BatchInserterIndex relationshipIndex = indexProvider.relationshipIndex("relationships",
            MapUtil.stringMap("type", "exact"));
    usersIndex.setCacheCapacity("timestamp", NEO_CACHE_CAPACITY);

    boolean notFinised = true;

    int c = 0;
    while (notFinised) {

        ObelixQueueElement result = redisQueueManager.pop();

        if (result == null) {
            notFinised = false;
        }

        if (result != null) {

            NeoEvent event = getEvent(result.toString());

            if (event == null) {
                continue;
            }

            long userid = getOrCreateUserNodeID(event.getUser(), usersNodesMap,
                    usersIndex, inserter, userLabel);

            long itemid = getOrCreateItemNodeID(event.getItem(), itemsNodesMap,
                    itemsIndex, inserter, itemLabel);


            getOrCreateRelatinshipID(event.getTimestamp(),
                    userid, itemid, relationshipsMap, relationshipIndex,
                    inserter, NeoHelpers.RelTypes.VIEWED);

        }

        c += 1;

        if (c % IMPORTS_BETWEEN_EACH_LOG_MESSAGE == 0) {
            LOGGER.info("Imported " + c);
        }
    }
}
 
开发者ID:inveniosoftware-contrib,项目名称:obelix,代码行数:79,代码来源:ObelixBatchImport.java


注:本文中的org.neo4j.unsafe.batchinsert.BatchInserterIndexProvider类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。