2014-11-25 5 views
0

나는 orientdb를 사용하고 있으며 인덱싱을하고 있지만 인덱싱 엔진은 sBTree입니다. Lucene을 변경하려면 어떻게해야합니까?나는 orientdb를 사용하고 있으며 인덱싱을하고 있지만 인덱싱 엔진은 sBTree입니다. Lucene을 변경하려면 어떻게해야합니까?

public static void main(String[] args) throws IOException 
     {  
      OrientGraph graph = null; 

       try { 

    OrientGraphFactory factory = new OrientGraphFactory("plocal:/root/Progs/orientdbcommunity-1.7.10/databases/demotest11").setupPool(1,10); 
        graph=factory.getTx(); 
       graph.createIndex("number",Vertex.class); 
        graph.createIndex("age",Vertex.class); 
        graph.createIndex("type",Vertex.class); 
        graph.createIndex("location",Vertex.class); 
        graph.createIndex("name",Vertex.class); 
        graph.createIndex("time", Edge.class); 
        graph.createIndex("strength", Edge.class); 
        graph.createIndex("out", Edge.class); 
        BatchGraph bgraph = new BatchGraph(graph, VertexIDType.NUMBER, 700); 
        bgraph.setVertexIdKey("number"); 
        bgraph.setLoadingFromScratch(true);     
        Reader reader = new Reader(); 
        List<String> inputList = reader.readFile(); 
        InsertinDb insertdbobj = new InsertinDb(); 
        long startTime = System.currentTimeMillis(); 
        //System.out.println(startTime); 
        insertdbobj.insertinDb(bgraph,inputList); 
        long endTime = System.currentTimeMillis(); 

        System.out.println("Time to insert" +(endTime - startTime)); 
        graph.commit(); 
       // System.out.println(graph.countVertices()); 
        System.out.println("success"); 
       } catch(OException e) { 
        System.out.println("no success - " + e.getMessage()); 

        e.printStackTrace(); 
       } finally { 
        if(graph != null) { 
         graph.shutdown(); 
        } 
     } 

     } 

SBTree Engine을 사용하여 색인 생성 엔진을 변경하는 방법에 대한 코드는 무엇입니까?

답변

0

그래프 Api에서 엔진을 변경할 수 없습니다.

그러나이 같은 루씬 인덱스를 생성하는 명령을 실행할 수 있습니다 :

graph.getRawGraph().command(new OCommandSQL("create index V.name on V (name) FULLTEXT ENGINE LUCENE")).execute();