Search Architecture #480
Comments
|
I did some experiments, adding full text indices on the work item sample db (130k work items). Sizes: (1 page == 8k) One thing that is interesting here is that the combined index sizes of the single field full text indices are smaller thant the ft-index of the combined fields ("fulltext_search_index"). One reason may be that no weights were set when creating the individual indices. |
|
Here are some query execution times: It is interesting to observe that the query for individual fields is faster than the query for the combined field. |
|
Execution time rises as selectivity goes down: searching for "test" takes 107ms (combined fields) and 113ms (single fields) |
|
Thinking about queries for fields in json: in order to generate meaningful queries for field values (businessValue < 5, title ilike 'foo%), we need to know type of value that is stored in a field. This implies that a field must have a unique type for the scope of work item types we use to generate the query. The db schema we have right now does not ensure this property. |
Yeah, I agree. This is where the 'general purpose' WIT starts to break down a bit. I observed the same thing in looking trough VSO as well. While you can define a Field as { Name: X, Type: Markup, Ref: system.assignee } in the WIT def, the Ref system.assignee require a Type User to actually work. Technically, most(all?) system.* Fields (known fields) have a predefined type. |
|
Ranking with single-field queries is more complicated. Not clear how to compute an overall rank. |
|
Added https://github.com/tsmaeder/almighty-core/tree/poc_matches_operator with an added "matches" operator. |
|
Open issues here: field types, joins, ranking. |
|
@baijum Something to evaluate as the Search Query lang is being written? tsmaeder@df4df84 |
From a post to almighty-public:
The purpose of this issue is to track this concern and to develop a proposal how to address it.
The text was updated successfully, but these errors were encountered: