Edgewall Software

Opened 8 years ago

Last modified 7 years ago

#11627 new enhancement

Backport Bloodhound search API

Reported by: Ryan J Ollos Owned by:
Priority: normal Milestone: next-major-releases
Component: search system Version:
Severity: normal Keywords:
Cc: leho@…, thomas.akesson@… Branch:
Release Notes:
API Changes:
Internal Changes:


Bloodhound has an enhanced search API (bh:wiki:/Proposals/BEP-0004) and a Whoosh plugin. A plugin for Apache Solr is being developed: bh:wiki:/Proposals/BEP-0014. This ticket will explore whether the API, and possibly the plugins as well, can be backported.

Attachments (0)

Change History (7)

comment:1 by lkraav <leho@…>, 8 years ago

Cc: leho@… added

comment:2 by thomas.akesson@…, 7 years ago

Cc: thomas.akesson@… added

It would be very interesting to have the BH search APIs in Trac to make it possible to create search implementations that can work across both. I have some Solr experience to leverage.

What is the status of the Solr plugin? I am unable to find the code.

in reply to:  2 comment:3 by Ryan J Ollos, 7 years ago

Replying to thomas.akesson@…:

What is the status of the Solr plugin? I am unable to find the code.

The work was done on the BEP-0014 branch, and hasn't yet been merged to the trunk.

comment:4 by thomas.akesson@…, 7 years ago

I did some quick review of the SolR code in BEP-0014. Difficult to read since it depends so much on the Bloodhound search. Would have to review that code too.

I was a bit interested in knowing whether a SolR search could be implemented in currently released Trac. Would have to use ISearchSource and the change listeners for Ticket, Wiki, Changeset, etc. Probably quite possible, perhaps even stay compatible with the BEP-0014 SolR schema (if I could understand why the schema is dynamically generated, seems like a major unnecessary pain).

The interesting part of BH Search is perhaps the query-syntax and parser. But then, SolR has that.

in reply to:  2 ; comment:5 by Jun Omae, 7 years ago

What is the status of the Solr plugin? I am unable to find the code.

See https://github.com/dnephin/TracAdvancedSearchPlugin.

in reply to:  5 comment:6 by thomas.akesson@…, 7 years ago

See https://github.com/dnephin/TracAdvancedSearchPlugin.

Thanks for the pointer, an interesting plugin.

I would like to see:

  • Support for multiple Trac-repos in the same SolR core.
    • Simpler setup and possible to implement a cross-repo search.
    • Also very useful for unified search implementations, e.g. corporate intranet search.
  • Support for custom ticket fields. I was unable to find evidence of any support for that. Fairly sure in TASP, not sure in BEP-0014 since I don't know the BH search framework.
  • Support for all content types (TASP lacks changeset), including attachments (simple in SolR).

Something that I have been contemplating: There is a very good UI for filtering tickets in the query module. It is just lacking a fulltext search box, which would show ranked results rather than sorted. I am not sure if there is any way of extending the query form and show results from SolR rather than the DB.

comment:7 by Ryan J Ollos, 7 years ago

Owner: Ryan J Ollos removed

Modify Ticket

Change Properties
Set your email in Preferences
as new The ticket will remain with no owner.
The ticket will be disowned.
as The resolution will be set. Next status will be 'closed'.
The owner will be changed from (none) to anonymous. Next status will be 'assigned'.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.