New and Improved 3.13 Beta. Highlights: Shareable filters and dashboards and lots of other goodies. Any feedback can be raised as JIRA issues in the JIRA project.
Issue Details (XML | Word | Printable)

Key: JRA-6218
Type: New Feature New Feature
Status: Open Open
Priority: Critical Critical
Assignee: Unassigned
Reporter: Steve Varghese
Votes: 22
Watchers: 16
Operations

If you were logged in you would be able to see more operations.
JIRA

Allow searching for part of a word (prefix / substring searches)

Created: 17/Mar/05 10:32 AM   Updated: 31/Jan/08 02:08 AM
Component/s: Extensions
Affects Version/s: 1.4, 1.4.1, 1.4.2, 1.4.3, 2.0, 2.0.1, 2.0.2, 2.1 Pro, 2.1 Enterprise, 2.2 Pro, 2.2.1 Pro, 2.2 Enterprise, 2.3 Pro, 2.3 Enterprise, 2.4 Pro, 2.4 Enterprise, 2.4.1, 2.5 BETA, 2.5 Pro, 2.5 Enterprise, 2.5.1 Professional, 2.5.1 Enterprise, 2.5.2 Professional, 2.5.2 Enterprise, 2.5.3 Professional, 2.5.3 Enterprise, 2.6 Pro, 2.6 Enterprise, 2.6.1 Pro, 2.6.1 Enterprise, 3.0 Standard Beta, 3.0 Professional Beta, 3.0 Enterprise Beta, 3.0, 3.0.1, 3.0.2, 3.0.3, 3.1, 3.1.1, 3.2 Beta, 3.2, 3.2.1, 3.2.2, 3.2.3, 3.3 Beta1, 3.3, 3.3.1, 3.3.2, 3.3.3, 3.4 Beta 1, 3.4, 3.4.1, 3.4.2, 3.4.3, 3.5, 3.5.1, 3.5.2, 3.5.3, 3.6, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.7 Beta 1, 3.7 Beta 2 , 3.7, 3.7 Issue Views, 3.7.1, 3.7.2, 3.7.3, 3.7.4, 3.8, 3.8.1, 3.9
Fix Version/s: None

Time Tracking:
Not Specified

Issue Links:
Reference

Participants: Andreas Knecht [Atlassian], Anton Mazkovoi [Atlassian], Brad Johnson, Hans Martin Kern, Jeff Turner [Atlassian], L. Vermeulen, Mark Chaimungkalanont [Atlassian], Peter Romianowski, Scott Farquhar [Atlassian], Sean Leach and Steve Varghese
Since last comment: 28 weeks, 6 days ago
Labels:


 Description  « Hide
Lucene doesn't support prefix search.

We have created some issues with following titles:

  • "ComponentComboBox"
  • "TableComboBox"
  • "DateComboBox"
  • "JXComboBox"

these words also occur in attached commented and file attachments with java source code
In our projects we need to search for the word "ComboBox" or "Box" or just "box", but it does not retrieve the issues mentioned above.

Is it possible to extend JIRA search capabiltiy with a simple search plugin, which returns results like String's indexOf ? Of course, this will result in neg. performance issues.
But I think, this way of searching is practical for us, when searching for more abstract words / partialparts of words in jira/confluence.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Anton Mazkovoi [Atlassian] added a comment - 17/Mar/05 11:52 PM
As you have mentioned, Lucene does not do this currently, I beleive due to performance issues.

We are working on a solution as it would be great to get this done. However, we do not have any concrete time lines in place at the moment for this feature.

I believe there are 'hacks' floating around the Lucene mailing list that enable lucene to do substring matches. However you will still need to patch JIRA as there are checks in place to ensure that the search term does not start with "*".

Another way to do this would be to write a listener that would index issues in its own index and then extend JIRA's issue navigator to search that index as well. More information on listeners can be found here:
http://www.atlassian.com/software/jira/docs/latest/listeners.html


Steve Varghese added a comment - 18/Mar/05 06:58 AM
Hi,

thanks for answer.
Well, I will explore jira/confluence plugin- and listener features for a workaround


Peter Romianowski added a comment - 10/Apr/05 06:50 AM
The whole search facility and the limitations to it are really a show stopper! I can't believe that the folks at atlassian did not take the limitation with asterisks at the beginning of a search term into consideration before switching to lucene. It renders the search almost useless and this is the only point that lets the great product look a bit "clumsy".

Is there any workaround like another SearchProvider (based on MySQL-Indexing or plain SQL)?


Scott Farquhar [Atlassian] added a comment - 12/Apr/05 05:47 AM
Steve,

In your case, is there a way of knowing how to split the words? For example, if you know that you are using CamelCase, then we can index both Camel and Case.

Peter - can you give some examples of the searches that you are looking to perform?


Steve Varghese added a comment - 12/Apr/05 06:50 AM
hi,
when we search in java source code, many class names are CamelCase words. Some practical grep funcionality will really us help to find a wiki document.
Sometime we have many mispelled words when typing too fast with keyboard. E.g. "there is aduck". In this case just a simple space character is missing. So we will never find that duck.
As mentioned above just a simple search like java.lanf.String#indexOf is Unable to render embedded object: File (really) not found. sufficient for us and performance won't be that a big issue us. Currently we use PowerGrep (http://www.powergrep.com/) mostly for performing that same searching on text/binary files which are located in the confluence attachment directory.
steve

Peter Romianowski added a comment - 12/Apr/05 07:59 AM
Exactly the same as shown in the description.

"CamelHump awareness" would help a bit.

My point is that people are used to "sub word matching" search engines.


Jeff Turner [Atlassian] added a comment - 14/Apr/05 12:48 AM
Clarifying the summary.

(I agree, not being able to do substring searches is often annoying. It is useful to keep an archive of email notifications for this sort of searching.)


Sean Leach added a comment - 21/Dec/05 09:43 AM
I agree this is something that should be high priority for Atlassian to fix.

If I have a hostname of

www1la

I can't search for www

to find all tickets with that machine in the subject.


Mark Chaimungkalanont [Atlassian] added a comment - 21/Dec/05 07:34 PM
Sean,

Thanks for your input. While this issue is indeed important (as Jeff will attest to) we do have a development process that is based on popularity of issues. You can see at http://confluence.atlassian.com/display/DEV/Implementation+of+New+Features+and+Improvements. Right at the moment, we're quite busy completing some the more highly voted features, but we'll hopefully get to this one at some stage.

Cheers

Mark C


Peter Romianowski added a comment - 21/Dec/05 10:52 PM
Mark,

thanks for making clear how decisions are made. But still I can't understand why issues that most people consider a show stopper are not on the development roadmap for really a long period of time. This BUG (this isn't a "New Feature") renders the search quite useless IMHO. If I were given 5 cents per request like "I did search for issue xyz but I did not find it so I created a new one" from our test team... Seriously, you just don't find issues unless you use some filter and scan a LOT of messages by hand.

Same with another annoying issue: Buld Workflow Transition (JRA-2427) - I just can't understand why you are ignoring this feature (bug IMHO) for such a long time. There are a lot of other outstanding issues and missing features (most of them are really small ones like searching for relationships) that would make JIRA a lot more productive.

Don't get me wrong - I like JIRA a lot, but still I miss some things...


Mark Chaimungkalanont [Atlassian] added a comment - 21/Dec/05 11:14 PM
Peter,

We definitely hear your frustrations! As you do point out though, there are still plenty of outstanding issues features that many people want but given finite development resources we try to manage and prioritize as best we can.

Thanks for you patience & understanding on this!

Cheers,

Mark C


Steve Varghese added a comment - 22/Dec/05 05:23 AM
I have linked some similar issues. Please look out for such similar issues. Thanks
Steve

Brad Johnson added a comment - 20/Apr/06 06:00 PM
Bugzilla http://bugzilla.org has had this for quite some time. It's really useful to be able to search for parts of Java stack traces that are entered into comments or issue descriptions.

You all should pay special attention to this issue regardless of the few votes. You have to realize that some bugs won't get votes because people don't know that there is something wrong... Most people just won't find what they want when searching and won't know why and they'll think badly of JIRA.


Hans Martin Kern added a comment - 14/Sep/06 08:00 AM
Just wanted to add that the lack of being able to search for XYZ and have JIRA return each and every entry containing XYZ is very important for us, too. In fact, this is a close to a show-stopper ("can't buy jira because full-text search doesn't work as expected") for us.

Steve Varghese added a comment - 26/Oct/07 02:10 AM
Hello, As of Lucecen 2.1 prefix search is possible!!
Read this:
http://wiki.apache.org/lucene-java/LuceneFAQ#head-4d62118417eaef0dcb87f4370583f809848ea695
"Leading wildcards (e.g. *ook) are not supported by the QueryParser by default. As of Lucene 2.1, they can be enabled by calling QueryParser.setAllowLeadingWildcard( true ). Note that this can be an expensive operation: it requires scanning the list of tokens in the index in its entirety to look for those that match the pattern.
"

So how can I apply easily a "setAllowLeadingWildcard(true)-Fix in Jira and Confluence ?
cheers, steve


Andreas Knecht [Atlassian] added a comment - 28/Oct/07 08:47 PM
Hi Steve,

We recently upgrade Lucene in JIRA to 2.2.0, which makes this feature fairly easy to implement. We simply need to allocate some time + resources and schedule it.

However if one was going to implement this, you'd basically have to make sure that all the QueryParsers that get created in JIRA have the setAllowLeadingWildcard flag set to true. Preferably this could be done via a new ApplicationProperty, that can be set via the 'General Configuration' in the admin section.

The places that need to be changed on a quick glance are:

  • TextSearcher
  • FreeTextParameter
  • QueryForCommentsCreator

We should probably add a 'getQueryParser' method to the IndexManager, and change the 3 places above to use that method to retrieve the QueryParser. The IndexManager would then be responsible for setting the allowLeadingWildcard flag depending on an applicationProperty.

Cheers,
Andreas


L. Vermeulen added a comment - 31/Jan/08 02:08 AM
Re " We recently upgrade Lucene in JIRA to 2.2.0, which makes this feature fairly easy to implement. We simply need to allocate some time + resources and schedule it."
Please schedule it.