incubator-bloodhound-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Apache Bloodhound" <>
Subject [Apache Bloodhound] Proposals/BEP-0004 modified
Date Thu, 24 Jan 2013 14:56:41 GMT
Page "Proposals/BEP-0004" was changed by andrej
Diff URL: <>
Revision 17
Comment: update page to reflect implementation of prototype phase of bhsearch plugin.
Index: Proposals/BEP-0004
--- Proposals/BEP-0004 (version: 16)
+++ Proposals/BEP-0004 (version: 17)
@@ -83,31 +83,7 @@
 A lot improvements may be introduced here, TBD
 == Proposal #proposal
-=== Implementation steps #steps
-We can start with small step by implementing search box functionality similar to trac:wiki:AdvancedSearch
and then add support for query, wiki macro and query builder/wizard.
-A new plugin bloodhound-search will be introduced. The plugin architecture should support
possibility to plug different backends e.g. Whoosh, Lucen etc and custom resources.
-Current implementation phase is Prototype phase 1. BloodhoundSearch page describes current
Bloodhound search functionality.
-[=#prototype] The first prototype phase will provide the following functionality: 
- * introduce new plugin bloodhound_query
- * Indexing for tickets and wiki resources
- * use Whoosh as default search platform
- * Query parser will not be implemented, query will be transparently sent to underlying search
- * Search result view will provide simplified functionality
-Second phase:
- * Refine requirements 
- * Introduce query parser to support basic query syntax
- * Introduce quick search box
- * TBD
-TBD: Next phases...
 === Possible free text platforms
 A few possible solutions were discussed on the mail list:
 ==== Whoosh
@@ -124,6 +100,7 @@
 Solr or !ElasticSearch
 == Rejected ideas
+We don't have any rejected ideas so far.
 == Backwards Compatibility #backwards-compatibility
@@ -133,9 +110,39 @@
 == Reference Implementation #reference-implementation
+A new plugin bhsearch is introduced. The plugin architecture supports possibility to use
different search backends like Whoosh, Lucen and Solr. Since bhsearch plugin functionality
is isolated, development can be done on trunk. 
+=== Current status
+[=#prototype] Current implementation is in prototype (alpha) phase. BloodhoundSearch page
describes current Bloodhound search functionality. In a few words:
+ * Whoosh library is used for search index 
+ * Support search in tickets, wiki pages and milestones
+ * Support search by free text and query. For query syntax see wiki:Proposals/BEP-0004/ResourceQuery.
+ * UI provides search in all entries or in entries of specific resource type e.g. only in
+ * Facets are selected based on searched resource type
+=== Beta phase
+Next release (Beta phase) should concentrate on code stability and the following features:
+ * Add support for changesets
+ * Support pluggable schema generation.
+ * Improve search quality
+ * Introduce quick search box
+ * Improve index consistency. [=#consistency]  
+   * Current implementation uses ITicketChangeListener interface that is triggered after
DB transaction is already committed. There is possiblity to get inconsistency between DB and
search index if index update fails. In this case reindex is required. One of the possible
solution is to contact Trac community with suggestion to introduce a new, within transaction,
 I<Resource>ChangingListener interface. During this event we can save changes into additional
table and than index changes in separate thread.
+   * Some ticket changes are not reflected in event interfaces e.g. Version and Component
renaming. One of the possible solution is to contact Trac community to introduce new interfaces.
+   * Alternative solution is triggering events from SQL proxy developed on multi-product
+   * Usage of DB triggers is another alternative
+=== Stable phase 
+Solution should be stable enough to be part of Bloodhound standard delivery and replace existing
search functionality. We can add more features 
+ * More complex faceting can be introduced e.g. date rages, pivot faces etc.
+ * Add bhsearch wiki widget
+ * TBD
+=== Correlated tickets
 The following tickets are related to this enhancement proposal .
 [[TicketQuery(keywords=~bep-0004, format=table, col=id|summary|status)]]
 == Resources #resources
 [ Balsamiq Mockups] is used for UI mockup building.
Import mockup *.xml file and proceed with changes.

Page URL: <>
Apache Bloodhound <>
The Apache Bloodhound (incubating) issue tracker

This is an automated message. Someone added your email address to be
notified of changes on 'Proposals/BEP-0004' page.
If it was not you, please report to .

View raw message