I am new to JabRef and enjoying very much so far. But I encounterd a problem.
System
JabRef 5.9–2023-01-08–76253f1a7
Windows 10 10.0 amd64
Java 19.0.1
JavaFX 19+11
Setup
remote database used by around 5 peopls
MYSQL
the files are all stored in a single folder on a NAS
as of now there are approximately 250 pdf articles in this folder and in the JabRef Databse
Question
I have a question regarding the fulltext search. I decided to use JabRef as it seemed to offer a really good fulltext search and it also seemed to work. At one point it felt like the fulltext search is not working anymore at all. Now I have some questions regarding my use cases.
are the indexes locally, because a co-worker seems to have a working fulltext search by accessing the same database as I do. On his machine the fulltext search seems to work properly
is there any way to test the full text search apart from trial and error?
I think indexes are stored locally, but I don’t know where. Everytime users upgrade to a new version of JabRef, a new full-text index is created. This is, because usually in between JabRef versions, the search backend is upgraded to a newer version and these indexes are not backwards compatible.
Hmm. Tough issue.
Maybe you could compare your settings with your colleagues settings under options / file > preferences > linked files and also under library > library properties > override default file directories
Thank you for your suggestion. I did not know this option as of now. I tried this and it takes approximately 2seconds which seems to fast to me, also it did not help, even after a restart of JabRef
java.lang.IllegalStateException: Task must only be used from the FX Application Thread
at org.jabref.merged.module@5.9.6000/javafx.concurrent.Task.checkThread(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.concurrent.Task.isRunning(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.DoublePipeline.collect(Unknown Source)
at java.base/java.util.stream.DoublePipeline.average(Unknown Source)
at org.jabref@5.9.6000/org.jabref.gui.StateManager.lambda$new$4(Unknown Source)
at com.tobiasdiez.easybind@2.2.1-SNAPSHOT/com.tobiasdiez.easybind.EasyBind$9.computeValue(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.beans.binding.ObjectBinding.get(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.beans.binding.ObjectExpression.getValue(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.beans.property.DoublePropertyBase$2.computeValue(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.beans.binding.DoubleBinding.get(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.beans.property.DoublePropertyBase.get(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.scene.control.ProgressIndicator.getProgress(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.scene.control.ProgressIndicator$2.invalidated(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.beans.property.DoublePropertyBase.markInvalid(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.beans.property.DoublePropertyBase$Listener.invalidated(Unknown Source)
at org.jabref.merged.module@5.9.6000/com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(Unknown Source)
at org.jabref.merged.module@5.9.6000/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.beans.binding.DoubleBinding.invalidate(Unknown Source)
at org.jabref.merged.module@5.9.6000/com.sun.javafx.binding.BindingHelperObserver.invalidated(Unknown Source)
at org.jabref.merged.module@5.9.6000/com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(Unknown Source)
at org.jabref.merged.module@5.9.6000/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.beans.binding.ObjectBinding.invalidate(Unknown Source)
at org.jabref.merged.module@5.9.6000/com.sun.javafx.binding.BindingHelperObserver.invalidated(Unknown Source)
at org.jabref.merged.module@5.9.6000/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Source)
at org.jabref.merged.module@5.9.6000/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.collections.ObservableListBase.fireChange(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.collections.ListChangeBuilder.commit(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.collections.ListChangeBuilder.endChange(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.collections.ObservableListBase.endChange(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.collections.ModifiableObservableListBase.add(Unknown Source)
at org.jabref@5.9.6000/org.jabref.gui.StateManager.addBackgroundTask(Unknown Source)
at org.jabref@5.9.6000/org.jabref.gui.util.DefaultTaskExecutor.execute(Unknown Source)
at org.jabref@5.9.6000/org.jabref.gui.util.BackgroundTask.executeWith(Unknown Source)
at org.jabref@5.9.6000/org.jabref.logic.pdf.search.indexing.IndexingTaskManager.enqueueTask(Unknown Source)
at org.jabref@5.9.6000/org.jabref.logic.pdf.search.indexing.IndexingTaskManager.createIndex(Unknown Source)
at org.jabref@5.9.6000/org.jabref.gui.search.RebuildFulltextSearchIndexAction.rebuildIndex(Unknown Source)
at org.jabref@5.9.6000/org.jabref.gui.util.BackgroundTask$2.call(Unknown Source)
at org.jabref@5.9.6000/org.jabref.gui.util.BackgroundTask$2.call(Unknown Source)
at org.jabref@5.9.6000/org.jabref.gui.util.DefaultTaskExecutor$1.call(Unknown Source)
at org.jabref.merged.module@5.9.6000/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Does anyone have an idea what this could cause?
It still does not run of course and I crosschecked with the application DocFetcher. It delivers fully different results but results which are to be expected. When I look at the results from JabRef it feels like, even though I have FullText Search ennabled it only searched the abstracts from the entries but not the .pdf itself.