Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Immediate Search (Incremental search) Disable option #1034

Closed
ajbelle opened this issue Mar 24, 2016 · 11 comments
Closed

Immediate Search (Incremental search) Disable option #1034

ajbelle opened this issue Mar 24, 2016 · 11 comments

Comments

@ajbelle
Copy link

ajbelle commented Mar 24, 2016

  • JabRef version 3.0 onwards including 3.2
  • Win7 Enterprise
  • Searching large 45Mb .bib file:
    Result = JabRef immediately searches, blocking further typing into the search box
    Apparent Reason = Large file takes time to search so this interrupts typing until it frees up.
    User Experience: Very annoyingly, and time wasting .
    Why in Stable Release: On a small test.bib file this delay is not noticeable, so it was not picked up during debugging.

On older JabRef versions that had Search in the LHS panel, I turned off Incremental search and the problem went away, but this disable functionality has been removed! Discussion can be found at #104 @tobiasdiez suggested I create this issue. According to @tobiasdiez the issue is separate, but turning off Incremental search used to fix it.

@ajbelle ajbelle changed the title Immediate Seach (Incremental search) Dissable option Immediate Search (Incremental search) Disable option Mar 24, 2016
@stefan-kolb
Copy link
Member

We should maybe do some small benchmarks how fast our search is and if it can/needs to be improved.

@oscargus
Copy link
Contributor

These should be the critical lines of code though:

        // Search if user press enter
        searchField.addActionListener(e -> performSearch());

        // Subscribe to changes to the text in the search field in order to "live search"
        JTextFieldChangeListenerUtil.addChangeListener(searchField, e -> performSearch());

or rather, adding a parameter to performSearch which determines if a checkbox should be checked before searching.

oscargus added a commit that referenced this issue Mar 25, 2016
oscargus added a commit that referenced this issue Mar 25, 2016
@oscargus oscargus mentioned this issue Mar 25, 2016
4 tasks
@oscargus
Copy link
Contributor

There's a tentative version available for download in about 20 minutes at http://builds.jabref.org/livesearch

(@ajbelle, this is based on the most recent version of JabRef, still I do not think it should break your massive file links...)

@ajbelle
Copy link
Author

ajbelle commented Mar 26, 2016

Thank you EASTER BUNNIES @oscargus and Co. I have been using 3.3dev-snapshot-2016-03-25-livesearch-55fc5f2 for several hours and it is working great. The "search on typing" icon is exactly what was required :-) Could I suggest the case sensitive icon would be more intuitive if one of the letters was capitalised, say aBc
My repository is nearing 30 000 records and the diference is noticable on a Corei7 Win7 box.

@oscargus
Copy link
Contributor

Good to hear that it worked! There is this icon which is meant to be used for case sensitive:

case-sensitive-alt

Not sure if it is much better. Makes very much sense if you are English speaking, maybe not so much otherwise. (We are trying to use provided icons.) The text indicates that this is an alternative version of another icon, but I cannot seem to find it.

@ajbelle
Copy link
Author

ajbelle commented Mar 26, 2016

That would be easily recognised by anyone using a Roman based letter set. It took me a while to realise that was a suit 'case' :-) Most Asians and Middle easterns I know using JabRef know more than enough English and the basic keyboard that I doubt anyone would complain. Maybe people still using Runes or Ogham script may struggle LOL. THX again.

@simonharrer
Copy link
Contributor

Regarding the case sensitive icon, I created an issue so that a better icon will be created in the future in our icon font: Templarian/MaterialDesign#1100

oscargus added a commit to oscargus/jabref that referenced this issue Apr 4, 2016
@simonharrer simonharrer mentioned this issue Apr 4, 2016
3 tasks
@simonharrer
Copy link
Contributor

@ajbelle how many entries do you have in your 45mb file? I have created a JabRef version with a very fast search. Can you try it out if this would solve your problem? http://builds.jabref.org/fast-search/ In my tests, searching with 40k entries was acceptable on my machine, with a slight delay for warmup. Btw. filter is faster than float.

@ajbelle
Copy link
Author

ajbelle commented Apr 13, 2016

THAT IS GREAT. Mine is 30k entries (size is given in the question below), but many are lengthy and include abstracts ... My problem with V3.2 was that it locked up typing entry long enough to mess it up and be annoying. The search time itself was not too bad. Your fix has solved that issue, and the search is lightning fast.

A side question, my file size dropped from 50MB to about 45MB when I moved to Ver3.2. In Notepad++ line count dropped from 512634 to 483231. I could not spot what had changed and assumed it was a better parsing ‘clearing out’ dead lines, however in this current testing I reverted back to Ver2.1 and it shot back up!!!!
What are the extra lines, and how they are no longer needed? Should I post this question to discussion? I couldn't find any info on this.

@stefan-kolb
Copy link
Member

Good to hear that it solved your issue 😄

@simonharrer
Copy link
Contributor

@ajbelle we changed the bibentry layout format a little bit - this could be the effect of it.

@koppor koppor added the search label Nov 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants