cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X

Latest version filter should be applied prior to executing a query

Latest version filter should be applied prior to executing a query

The dilemma that we are is seeing is that our com.ptc.windchill.search.queryLimit is set to 5000, but increasing it probably won’t help that much since we have very large data sets. Setting the value to be -1 is out of the question since that would cause large-scale performance impacts.

For instance, if a user searches with keyword “12345678*” + Latest Version search preference enabled, then they would get about 100 results returned before the query limit is reached. The data set would be several hundred dash-number parts with the 12345678- prefix, probably with about 50+ revisions each. So if you consider the total number of parts, it’s probably about 300 x 50 revisions = 15,000 parts that count towards the query limit. They can’t really refine the search by context or type, since all objects are parts in the same container.

However, if the Latest version filter is applied prior to doing the search, then the user can see the 300 latest parts, and can click through to each part history individually if they needed to find a different version.

Here’s an example data set to illustrate what the customer is trying to do.

Number                              Name

12345678                           TOP-LEVEL ASSEMBLY

12345678-1                       FRAME

12345678-2                       FRAME

12345678-3                       FRAME

12345678-4                       ANGLE

12345678-5                       ANGLE

12345678-6                       ANGLE

12345678-7                       FRAME

12345678-8                       FRAME

12345678-9                       FRAME

12345678-10                     BRACKET

12345678-11                     BRACKET

12345678-12                     BRACKET

…                                          …

12345678-300                   -

(300 parts x average 50 revisions = 15,000 WTParts returned in query)

The purpose of the query is just to get to a part I’m looking for. I’ve been told that this is used most frequently in Advanced Search and when searching for a part to link to a document (Describe By or References link). As you can see, there might not be a whole lot of variety between names of parts within a structure. In this case, the customer relies on searching on Number = 12345678* and Name = *FRAME*, assuming they know it’s a frame they’re looking for. It sounds like some people prefer to click through the search results to find the right one, whereas others will know what they’re looking for when they see it (probably from some other attribute value unknown to the user at time of search).

I think we need to start thinking about ways to apply the Latest version filter prior to doing a search in a future release. I understand the performance trade-off fully, but as these customer data sets get larger, the workarounds become much more difficult to employ.

Currently running 10.1 M040, but not running SOLR (yet).

1 Comment
PTCModerator
Emeritus
Status changed to: Archived