cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Failed to invoke procedure `db.index.fulltext.queryNodes`: Caused by: java.lang.IllegalStateException: Index `titlesAndDescriptions` entered a FAILED state

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-fu...

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: Index titlesAndDescriptions 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

==================

7 REPLIES 7

Hello @kangwachimba7

I can't reproduce your error.

I think it's because the index was still being created. You should find more information in the log file of the database.

You can try dropping the index then recreating it then retesting your query.

Regards,
Cobra

tried that, when I call

SHOW FULLTEXT INDEXES

it is showing the state of the index as 'failed' what could that mean?

I don't know because you must look at the log file of the database.

Can you try to delete the index then recreate it?

yes I have tried to delete and recreate it and retest it

I have attached an image of my query.log

This screenshot doesn't show anything. Look in the debug.log file.

Can you to restart the database?

I have deleted the database and retried again it works
I remember I had placed this line

dbms.index.fulltext.default_analyzer

in the neo4j.conf file maybe that caused the problem just deleted the whole database and rebuilt another one

Nice, all configuration parameters available for the neo4j.conf file are available here.