-
Notifications
You must be signed in to change notification settings - Fork 13
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
search gives "No results" for a certain word #41
Comments
Same here. I'm using Windows 10 and literally, you can't search any word. |
Confirmed, thanks for reporting this! That's indeed a pretty nasty bug. It's strange that it works on 1.x, things shouldn't have changed much in and around the EB library. Also, thanks for reporting the linker path issue. This is probably because we (sloppily) just |
Quick workaround in RET_SEARCH SearchPage::search(const Query& query)
...
switch (query.method.direction) {
case ExactWordSearch:
case ForwardSearch:
- queries << stemWords(query.query);
break;
default:
break; Turns out that since 2010 with change f01a37c, qolibri tries to deinflect English words in Exact and Forward searches, e.g. "avoids" will do an implicit second query for "avoid". This bug presents only when the last one of these pseudo-deinflections is not found. For "avoid" that's "avoy", which doesn't exist → "No results". For "vices" it's "vex", so it works, even though the words are unrelated. "house" doesn't pseudo-deinflect, so it's unaffected. The bug is that when looping over the queries for the individual words, the outcome of the last search determines the overall outcome:
This worked at the time because in 2009 15dd5b3 had changed what is now |
Thank you very much! |
Hi, I would like to know what a Windows 10 user could do to with the workaround. It seems I cannot use the program until a new version gets released. |
In FreeBSD, we have "ports collection" which offers a simple way to compile and install third party applications. For CMakeList.txt, I was suggested by the FreeBSD team the following patch to make it more generic.
|
@omatsuda Thanks so much for bringing qolibri to FreeBSD! Of course, shipping the workaround to your users is more than fine. It's me who should apologize for the lazy @darlopvil Yes, you'd have to compile yourself. I think we're about ready to release 2.1.4 though. |
Thank you! And I would be happy if the patch for CMakeLists.txt is adopted in the next release. |
Details: #41 (comment) Since 6eb4787, this would report "No results" for many alphabetic terms in Exact and Forward searches. While this aspect could have been fixed, the deinflection could also dig up unrelated words and was slowing down searches with additional queries. A Forward Search for the stem accomplishes everything this feature was trying to do, minus the surprise. So let's just drop it. This reverts commit f01a37c
Thank you very much for this nice software.
Everything works just fine, except one remaining strange behavior. When I search the word "avoid", qolibri just returns 'No rusults for "avoid".' It happens for either "Exact word search" or "Forward search". If I search "avoi", it gives the results for avoid, avoidable, .. etc.
Backword search for "avoid" gives the correct results.
Could anybody help me to solve this?
I'm using several dictionaries including Longman 4th Edition, and some English-Japanese dictionalies.
The program itself has been compiled on FreeBSD 12.2-Release.
(For the build, I had to add a line
link_directories(/usr/lib /usr/local/lib)
just below the line
include(GNUInstallDirs)
in CMakeLists.txt. Otherwise the build fails at the linker stage to find libeb.so which is installed at /usr/local/lib in FreeBSD.)
The text was updated successfully, but these errors were encountered: