[
https://issues.jboss.org/browse/ARTIF-710?page=com.atlassian.jira.plugin....
]
Brett Meyer resolved ARTIF-710.
-------------------------------
Resolution: Done
For now, making a few assumptions. I only added the artifact model and type to the index.
That should cover the vast majority of use cases. Also, with that in mind, the query
didn't have to be delayed until the main query is executed, since when we hit the
full-text predicate, we would have already hit the model/type path.
Optimize Hibernate Search query
-------------------------------
Key: ARTIF-710
URL:
https://issues.jboss.org/browse/ARTIF-710
Project: Artificer
Issue Type: Enhancement
Affects Versions: 1.0.0.Beta1
Reporter: Brett Meyer
Assignee: Brett Meyer
Fix For: 1.0.0.Beta2
Currently, if a full-text search method is found by the query visitor, it builds up a
separate Hibernate Search query, with the search keyword as the only constraint. The
resulting artifact IDs are then used as a "where id in (...)" constraint on the
original query.
It would be more performant to delay the Search query until execution of the original
query. Several artifact fields could also be indexed and used to limit the full-text
search's results. For instance, if the query starts with /s-ramp/xsd/XsdDocument, we
could index 'model' and 'type'. Then, match those indexes using the
model/type, helping to reduce the size of the eventual list of IDs. The same is probably
true for other types of predicates.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)