I am trying to use the full-text index provided by neo4j. I am using neo4j desktop community 4.4.5.
I was following the example here https://neo4j.com/docs/cypher-manual/current/indexes-for-full-text-search/#administration-indexes-fulltext-search-create-and-configure
I created the node using
CREATE (m:Movie {title: "The Matrix"}) RETURN m.title
and created the index using
CREATE FULLTEXT INDEX titlesAndDescriptions FOR (n:Movie|Book) ON EACH [n.title, n.description]
but when I call the procedure in neo4j browser using
CALL db.index.fulltext.queryNodes("titlesAndDescriptions", "matrix") YIELD node, score
RETURN node.title, node.description, score
I get this nasty error
Failed to invoke procedure
db.index.fulltext.queryNodes
: Caused by: java.lang.IllegalStateException: IndextitlesAndDescriptions
entered a FAILED state. Please see database logs.: Cause of failure:
==================
java.lang.IllegalStateException: Failed to create index populator.
at org.neo4j.kernel.api.impl.fulltext.FailedFulltextIndexPopulator.failedException(FailedFulltextIndexPopulator.java:70)
at org.neo4j.kernel.api.impl.fulltext.FailedFulltextIndexPopulator.add(FailedFulltextIndexPopulator.java:65)
at org.neo4j.kernel.impl.api.index.MultipleIndexPopulator$PropertyScanConsumerImpl.addFromScan(MultipleIndexPopulator.java:814)
at org.neo4j.kernel.impl.api.index.MultipleIndexPopulator$PropertyScanConsumerImpl$1.process(MultipleIndexPopulator.java:777)
at org.neo4j.kernel.impl.transaction.state.storeview.GenerateIndexUpdatesStep$GeneratedIndexUpdates.completeBatch(GenerateIndexUpdatesStep.java:214)
at org.neo4j.kernel.impl.transaction.state.storeview.GenerateIndexUpdatesStep.batchDone(GenerateIndexUpdatesStep.java:122)
at org.neo4j.kernel.impl.transaction.state.storeview.GenerateIndexUpdatesStep.process(GenerateIndexUpdatesStep.java:115)
at org.neo4j.kernel.impl.transaction.state.storeview.GenerateIndexUpdatesStep.process(GenerateIndexUpdatesStep.java:49)
at org.neo4j.internal.batchimport.staging.ProcessorStep.lambda$receive$1(ProcessorStep.java:84)
at org.neo4j.internal.batchimport.executor.DynamicTaskExecutor$Processor.run(DynamicTaskExecutor.java:220)
at org.neo4j.kernel.impl.scheduler.ThreadPool.lambda$asCallable$1(ThreadPool.java:151)
at org.neo4j.kernel.impl.scheduler.ThreadPool.lambda$submit$0(ThreadPool.java:115)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: Could not create fulltext analyzer: String("")
at org.neo4j.kernel.api.impl.fulltext.FulltextIndexSettings.createAnalyzer(FulltextIndexSettings.java:56)
at org.neo4j.kernel.api.impl.fulltext.FulltextIndexProvider.getPopulator(FulltextIndexProvider.java:251)
at org.neo4j.kernel.impl.api.index.IndexProxyCreator.populatorFromProvider(IndexProxyCreator.java:153)
at org.neo4j.kernel.impl.api.index.IndexProxyCreator.createPopulatingIndexProxy(IndexProxyCreator.java:67)
at org.neo4j.kernel.impl.api.index.IndexingService$IndexPopulationStarter.apply(IndexingService.java:924)
at org.neo4j.kernel.impl.api.index.IndexingService$IndexPopulationStarter.apply(IndexingService.java:891)
at org.neo4j.kernel.impl.api.index.IndexMapReference.modify(IndexMapReference.java:52)
at org.neo4j.kernel.impl.api.index.IndexingService.createIndexes(IndexingService.java:586)
at org.neo4j.kernel.impl.api.index.IndexingService.createIndexes(IndexingService.java:569)
at org.neo4j.internal.recordstorage.IndexTransactionApplierFactory$SingleTransactionApplier.close(IndexTransactionApplierFactory.java:88)
at org.neo4j.internal.recordstorage.TransactionApplierFacade.close(TransactionApplierFacade.java:48)
at org.neo4j.internal.recordstorage.RecordStorageEngine.apply(RecordStorageEngine.java:506)
at org.neo4j.kernel.impl.api.InternalTransactionCommitProcess.applyToStore(InternalTransactionCommitProcess.java:81)
at org.neo4j.kernel.impl.api.InternalTransactionCommitProcess.commit(InternalTransactionCommitProcess.java:53)
at org.neo4j.kernel.impl.api.DatabaseTransactionCommitProcess.commit(DatabaseTransactionCommitProcess.java:42)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.commitTransaction(KernelTransactionImplementation.java:880)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.closeTransaction(KernelTransactionImplementation.java:732)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.commit(KernelTransactionImplementation.java:703)
at org.neo4j.kernel.impl.coreapi.TransactionImpl.lambda$commit$0(TransactionImpl.java:179)
at org.neo4j.kernel.impl.coreapi.TransactionImpl.safeTerminalOperation(TransactionImpl.java:700)
at org.neo4j.kernel.impl.coreapi.TransactionImpl.commit(TransactionImpl.java:174)
at org.neo4j.kernel.impl.coreapi.TransactionImpl.commit(TransactionImpl.java:169)
at org.neo4j.fabric.executor.FabricKernelTransaction.commit(FabricKernelTransaction.java:137)
at org.neo4j.fabric.executor.FabricLocalExecutor$KernelTxWrapper.doCommit(FabricLocalExecutor.java:262)
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:73)
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:32)
at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:127)
at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)
at reactor.core.publisher.Mono.subscribe(Mono.java:4384)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:426)
at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onNext(FluxConcatArray.java:201)
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2398)
at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onSubscribe(FluxConcatArray.java:193)
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
at reactor.core.publisher.Mono.subscribe(Mono.java:4399)
at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:258)
at reactor.core.publisher.FluxConcatArray.subscribe(FluxConcatArray.java:78)
at reactor.core.publisher.Mono.subscribe(Mono.java:4399)
at reactor.core.publisher.Mono.block(Mono.java:1705)
at org.neo4j.fabric.transaction.FabricTransactionImpl.doOnChildren(FabricTransactionImpl.java:286)
at org.neo4j.fabric.transaction.FabricTransactionImpl.commit(FabricTransactionImpl.java:197)
at org.neo4j.fabric.bolt.BoltFabricDatabaseService$BoltTransactionImpl.commit(BoltFabricDatabaseService.java:145)
at org.neo4j.bolt.runtime.statemachine.impl.TransactionStateMachine$State.closeTransaction(TransactionStateMachine.java:406)
at org.neo4j.bolt.runtime.statemachine.impl.TransactionStateMachine$State$2.commitTransaction(TransactionStateMachine.java:358)
at org.neo4j.bolt.runtime.statemachine.impl.TransactionStateMachine.commitTransaction(TransactionStateMachine.java:108)
at org.neo4j.bolt.transaction.StatementProcessorTxManager.commit(StatementProcessorTxManager.java:66)
at org.neo4j.bolt.v4.runtime.InTransactionState.processCommitMessage(InTransactionState.java:107)
at org.neo4j.bolt.v44.runtime.InTransactionState.processCommitMessage(InTransactionState.java:35)
at org.neo4j.bolt.v4.runtime.InTransactionState.processUnsafe(InTransactionState.java:56)
at org.neo4j.bolt.v3.runtime.FailSafeBoltStateMachineState.process(FailSafeBoltStateMachineState.java:48)
at org.neo4j.bolt.runtime.statemachine.impl.AbstractBoltStateMachine.nextState(AbstractBoltStateMachine.java:154)
at org.neo4j.bolt.runtime.statemachine.impl.AbstractBoltStateMachine.process(AbstractBoltStateMachine.java:102)
at org.neo4j.bolt.messaging.BoltRequestMessageReader.lambda$doRead$1(BoltRequestMessageReader.java:93)
at org.neo4j.bolt.runtime.DefaultBoltConnection.lambda$enqueue$0(DefaultBoltConnection.java:156)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatchInternal(DefaultBoltConnection.java:252)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:187)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:177)
at org.neo4j.bolt.runtime.scheduling.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:257)
at org.neo4j.bolt.runtime.scheduling.ExecutorBoltScheduler.lambda$scheduleBatchOrHandleError$3(ExecutorBoltScheduler.java:240)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
... 1 more
Caused by: java.util.NoSuchElementException: Could not find service provider org.neo4j.graphdb.schema.AnalyzerProvider
at org.neo4j.service.Services.lambda$loadOrFail$3(Services.java:138)
at java.base/java.util.Optional.orElseThrow(Optional.java:408)
at org.neo4j.service.Services.loadOrFail(Services.java:138)
at org.neo4j.service.Services.loadOrFail(Services.java:127)
at org.neo4j.kernel.api.impl.fulltext.FulltextIndexSettings.createAnalyzer(FulltextIndexSettings.java:51)
... 63 more
==================