- 5.8.2.1.16.26.1. Resolution check - use case
- 5.8.2.1.16.26.2. Resolution check - prerequisites/preparations
- 5.8.2.1.16.26.3. Resolution check - catalog analysis
- 5.8.2.1.16.26.4. Resolution check - Activation
- 5.8.2.1.16.26.5. Resolution check - analysis after catalog changes
- 5.8.2.1.16.26.6. Reverse Search – Test Order Number Search
- 5.8.2.1.16.26.7. Resolution check - Special notes
- 5.8.2.1.16.26.8. Resolution check - Config settings
- 5.8.2.1.16.26.9. Reverse search - resolution check (automatic) - avoid problematic constructs
If the number of possible combinations resulting from value ranges is too large, a reverse search is used instead of indexing, which also enables the value range values to be found successfully.
Certain requirements must be met so that components can be found by searching by order number [Order number] or type code, including those for which CNSORDERNO and CNSTYPECODE are made up of value range values.
The resolution check checks [Resolve check] whether catalogs can be resolved in the full-text search index or whether a reverse search is necessary. If the catalog has been prepared accordingly, even the most complex cases can be successfully searched using the order number [Order number] or type code.
The benefits of a reverse search are
Always good search results since even order numbers (article numbers) or type codes built from complex value ranges (yellow fields) values are found.
Via order number / type code, articles on PARTcommunity portals can certainly be found and correctly be ordered. Cross-links between portals are possible. External assistants can directly request geometry by calling order number / type code instead of using a complex list of deeplinks.
Initial article assignment of ERP numbers to PARTsolutions projects on the base of order number / type code is simplified, as numbers are absolutely unique.
See also Section 5.12.7.2, “Benefits of classification according to CNSORDERNO and CNSTYPECODE”.
Classification according to CNSORDERNO and/or CNSTYPECODE
Important Information on the distinction between CNSORDERNO and CNSTYPECODE, i.e. when to classify according to what, can be found under Section 5.12.7, “Classification according to CNSORDERNO / CNSTYPECODE ”.
This task can be performed semi-automatically for the entire catalog using the Classify projects in batch run [Batch classification of projects] plugin (see Section 5.12.6, “ Batch classification of projects ”).
The result is an entry under Variable with order number and/or Variable with type code.
Update the full-text index (if not already done by automated process).
If the option Automatically update full-text search index on changes [Automatically update full-text search index when changes are made] was not activated in the setting options of PARTproject, you must now do this yourself manually via PARTadmin (see Section 1.3.3.6.6.3, “Full text search index ” in PARTsolutions Administration - Manual ).
Download the current SVN state.
Update full-text search index (if not already done in an automated process).
If the option Automatically update full-text search index on changes [Automatically update full-text search index when changes are made] was not activated in the setting options of PARTproject, you must now do this yourself manually via PARTadmin (see Section 1.3.3.6.6.3, “Full text search index ” in PARTsolutions Administration - Manual ).
Before you start the analysis, make sure that the existing
resolvecheck.cfg
is deleted from your local catalog directory. Otherwise, the resolution check will use the existing results from the existing file.Note After each analysis, the configuration file
$CADENAS_DATA/23dlibs/<catalogname>
the configuration fileresolvecheck.cfg
is generated, which lists all results centrally.Before performing the run again, delete this file in order to get a "clean" result.
[REVERSEANALYSIS] pfad/projectname.prj=GEOMDATE;Tabellenzeilen;Varianten;Automatische Suche möglich (0 oder 1)z.B. project.prj=01.01.2019;1;10;1 ... ... ganz unten [COMMON] REVERSEANALYSIS=Datum des letzten Laufs
A new initial test run can also be forced automatically via the config setting. See Section 5.8.2.1.16.26.8, “ Resolution check - Config settings”.
In the context menu of the desired catalog, call up the Reverse search - resolution check (automatic) [Reverse Search - Resolve check (automatic)] command under Automation.
After finished process a respective message is displayed whether the catalog could be completely resolved or not.
An initial resolution check [Resolve check] can take some time depending on the size of the catalog. If nothing or little has changed when the catalog is called up again, the result is displayed again after a few seconds. Only changed projects are tested.
-> The results of the resolution check are displayed in detail in the Resolution results [Results] dialog box.
The Number [Amount] column shows the variants per project. For projects without value ranges [Projects without value ranges], the value is the same as the number of table rows and for projects with value ranges [Projects with value ranges], the value indicates the number of variants or, if empty, then the variants are over 25000 (limit value, no further checks are made).
In the Projects column, the numerical value in brackets indicates how many projects there are in the respective category.
The following table shows the meaning of the icons.
One or several parts under this node are not yet resolved. The blue exclamation mark stands for different cases:
Classification is missing (projects were ignored)
An error message is displayed.
This subsection is resolved in one way or another and does not require special attention:
----------------------------------------------------------------------------------------
Projects with an irrelevant value range (Dimension attribute)
The automatic resolution was successful, but the order number or type code contains an invalid value range variable of the type functional characteristic [Function attribute] or dimensional characteristic.
Note Details can be found under Section 7.8.14, “ Identification type ”.
For this project, a manual reverse configuration is saved. (<project name>_pnoreverse.cfg available) Project will be resolved and written in the Lucene index. The following table shows the meaning of the individual categories.
Two main levels are displayed under Projects, in which a distinction is made as to whether projects have value ranges at all. Projects with value ranges are differentiated in detail in 4 categories.
Projects with value ranges Category Meaning Automatic calculation of the reverse search: The reverse search could be calculated automatically for the projects listed here. A heuristic check did not reveal any errors.
Under
$CADENAS_DATA/index/cat/cat_<catalogname>/graph
a filegraphlookup.map
is generated. This contains all information down to project level across all catalogs.Manual reverse search available (there is a configuration file at catalog level
pnoreverse.cfg
)Manual creation of the reverse search necessary
All projects not assigned to category 1-3, will appear in category 4.
It may still be possible to achieve automatic resolution by making certain adjustments within the project structure. You can find information on this at Section 5.8.2.1.16.26.9, “ Reverse search - resolution check (automatic) - avoid problematic constructs”. Otherwise, the reverse search must be created manually. See ???.
Projects without value ranges It is easy to estimate the effort required to achieve the highest quality search results:
If the catalog could not be fully resolved, adjustments must be made for the projects under category (4 ) Manual creation of reverse search [Manual creation of the reverse search necessary]:
-> Check whether the relevant projects can be resolved by structural conversions (see Section 5.8.2.1.16.26.9, “ Reverse search - resolution check (automatic) - avoid problematic constructs”). If this is not possible, reverse configurations of the type
pnoreverse.cfg
must be created manually (see ???).For detailed information, click on and Export csv [Export csv file].
All projects are exported under Manual creation of reverse search required [Manual creation of the reverse search necessary].
All listed projects will be exported.
IS_COMPLEX: True, if there are yellow fields (object attribute or geometry attribute
0: Project does not contain any value ranges (yellow fields).
1: Project contains value ranges (yellow fields) and automatic calculation of the reverse search [Automatic calculation of the reverse search] does not work. -> Manual creation of the reverse search is required.
2: Project contains value ranges (yellow fields) and Automatic calculation of the reverse search works so that these projects can be resolved automatically.
-1: Classification according to CNSORDERNO or CNSTYPECODE is missing. Compare the icon with the red exclamation mark above.
-2: Project contains value ranges (yellow fields); Auto Reverse Search runs into a timeout. Manual reverse scripts are required.
RANGES: Number of value ranges (yellow fields). If RANGES is 0, then SUBTYPE is also 0)
HASPNO: For this project a manually created reverse script (_pnoreverse.cfg) is already available (manual configuration solution).
HASFLAG = The VARSEARCHRESOLVEORDERNO flag is already set to 1 and the project is taken in the Lucene index. You have to regard not to exceed the limit of 50000 per catalog.
REPORT: Detailed report on how the algorithm is resolving the order number. Field is only filled, if a manual script is required.
Check out the SVN catalog (if not already done for the catalog analysis ).
Update the full text search index (if not already done for the catalog analysis ).
Execute the Resolve Check using the context menu command Reverse Search - Resolve Check (automatic) [Reverse Search - Resolve check (automatic)] (if not already done for the catalog analysis ).
If the projects shown in the categories (1 ) Automatic calculation of reverse search [Automatic calculation of the reverse search],(2 ) Inclusion in full text index up to a total of max. 50,000 lines [Inclusion in full text index up to max. 50,000 lines] and (3 ) Manual reverse search available are to be marked accordingly within the program, click on !
Click on to control the resolution flag.[24]
The flag is set to 1 for projects in the category Inclusion in full text index up to a total of max. 50,000 lines [Inclusion in full text index up to max. 50,000 lines] (2 ).
For projects in the Automatic calculation of reverse search [Automatic calculation of the reverse search] (1 ) section, the flag is set to 2.
Lines without variants (value ranges) or with a manual Resolve configuration (3 ) remain at 0.
Click on to confirm that the flag is set for the potential x projects.
In order for the Reverse Search to be really available, the flag "Auto reverse Search" has to be activated.
Optionally, reverse search (automatic) can be activated for PCOM portals.
Execute the command Generate QA status [Generate QA catalog...]... (for testing)
Executing the Publish Live Stand [Publish Live state...] command... (subject to a charge)
Details can be found under Section 6.10, “ Publish catalog ”.
For new or changed projects, Testmeta will check if the projects are resolvable and if ORDERNUMBER/TYPECODE are classified and will issue warnings / errors - if necessary.
What happens if a variable or variable value is changed?
For all projects that can be resolved via automatic calculation of the reverse search [Automatic calculation of the reverse search], no further adjustments are necessary in this case, apart from republishing the catalog.
What happens if a variable is cancelled or added?
For all projects that can be resolved via automatic calculation of the reverse search [Automatic calculation of the reverse search], no further adjustments are necessary in this case, apart from republishing the catalog.
If there are changes, this is the required approach:
Update the full-text search index (except already done automatically).
See Section 1.3.3.6.6.3, “Full text search index ” in PARTsolutions Administration - Manual .
Execute the command Generate QA status [Generate QA catalog...]... (for testing)
Executing the Publish Live Stand [Publish Live state...] command... (subject to a charge)
In PARTproject -> Project selection -> Context menu of the catalog (or a subdirectory or project) -> Automation you will find the function Reverse Search - Test order number search [Reverse Search – Test Order Number Search].[25]
This allows you to check which parts are found from an automatically generated list of order numbers or type codes (composed of values from yellow fields), so that you can be sure that these will lead to correct hits, e.g. when searching in the PARTdataManager will lead to correct hits.
Furthermore you can check a certain list (either initially or the output result of an automatic generation after adjustments to optimize results have been performed).
Perform the following steps before starting a test run:
Make sure that you have installed the current SVN catalog with the latest updates and changes on catalog.
Make sure that you are doing a “fresh” resolve check.
To do this, delete the configuration file under
$CADENAS_DATA/23dlibs/<catalogname>
delete the configuration fileresolvecheck.cfg
before starting the resolution check.Add the catalog in PARTadmin in the configuration file
reverselookup.cfg
, in the keygenerategraph
.
Select the catalog directory, a subdirectory or a project and click on the context menu command Reverse Search - Test order number search [Reverse Search – Test Order Number Search].
Context menu command "Reverse Search - Test order number search [Reverse Search – Test Order Number Search] "
-> The same-named dialog box is opened.
Context menu command "Reverse Search - Test order number search [Reverse Search – Test Order Number Search] "
-> First a list of random order numbers is generated (see progress bar under Generating order numbers [Generation of order numbers] ) and in the second step these numbers are tested (see progress bar under Testing the search [Test the search] ).
-> After the test run you will receive a summary of the result directly in the program.
-> Furthermore the results are written into the automatically generated export list. The result occurs in the last column. Found numbers are marked with "OK", not found with "FAIL".
If there were failed searches and the reverse search functionality has been optimized, you can reload and test the output list with .
Example (initial testing of a list with defined order numbers/type codes)
Alternatively, you can also test with a list of defined order numbers/type codes. The setting under Number per project [Amount per project] is then not relevant.
Start the process by clicking on .
-> The directory set under Target path export list [Destination path export list] is opened. Select the desired CSV file.
-> The function is executed and the results are written into the loaded CSV file.
The test result can be found in the last column. Found numbers are marked with "OK", not found with "FAIL".
Test order numbers via "Reversemap Service"
If the reverse search was already activated for the online usage, you can test order codes manually with the reversemap service.
Just type in the URL in the browser and see if you get back the MIdent:
https://webapi.qa.partcommunity.com/service/reversemap?catalog=norelem&part=06247-116044&exact=1
https://webapi.partcommunity.com/service/reversemap?catalog=norelem&part=06247-116044&exact=1
catalog = -> Catalog you want to search for
part = -> Order code you want to search for
exact = -> 1 (exact search for the order number); 0 (ignore upper/lower case)
Test order numbers on 3Dfindit or Supplier Portal
You can also search for order codes on 3Dfindit portal or the supplier portal (config key has to be activated before it is working on supplier portal).
Please make sure that you have already selected the catalog on 3Dfindit. The Order code search is not working in the standard search bar on 3Dfindit!
During the automatic calculation of the reverse search, a file is created under
$CADENAS_DATA\index\cat\cat_resolve_check\graph
a filegraphlookup.map
is generated. This file is ignored by default when uploading to online portals and must be explicitly enabled for use by CADENAS.Searching by order number or type designation [Order number or type code] on online portals only works in the relevant catalog (in PARTdataManager also across all catalogs).
Always a search should usefully be performed in the desired catalog. However, sometimes a catalog consists of sub-catalogs (for example, the Standard catalog of DIN, ISO, EN, etc.). In such a case please perform the search in the respective sub-catalog.
When the CIP file of the catalog is created, the results of the resolution check are set in the
dir.prj
of the catalog in the form of the following keys:CATMETRICS_SEARCHABLE_PROJECTS
Number of projects which should be found (All visible projects and projects with SEARCHINDEX=ON)
Number of projects with a classified order number or type code variable
Number of projects with order numbers and type codes indexed by lucene
Number of projects which can be solved via auto reverse search
Number of projects which can't be found by the reverse search
Background information: To create the information that is written to
dir.prj
, the configuration filesresolve_check.cfg
andqacheck.cfg
are evaluated. Inresolve_check.cfg
, for example, the ResolveChecker writes the projects for which an automatic reverse search is possible. However, it is possible that someone has changed a project without running the ResolveChecker. In this case, the information is read fromqacheck.cfg
, to which Testmeta writes, and Testmeta must always be called for changed projects, as otherwise they cannot be published.
The configuration file can be found under $CADENAS\libs\all\plugins\resolve_check.cfg
:
The quality of the heuristic check for the automatic calculation of the reverse search can be adjusted via the first three keys.
If NEVERSKIPGRAPH is set to 1 (default is 0) at each run a complete recalculation is performed. (May be makes sense on testing purposes if the automatic generation has been enhanced.)
[COMMON] # maximum graphsearch searches per project MAXHEURISTICS=10000 # maximum time in minutes to use when counting variants MAXTIME=15 # maximum time in minutes when checking graphsearch results MAXTIMETEST=15 # always recheck the graphsearch even if we already have a saved result NEVERSKIPGRAPH=0
Definitions for variable abbreviations used
RNG: Value range variable that defines a range
[10:100]
NMD: Value range variable with concrete values
'x','b','y',...
Example 2 (value range variable with naming [Value range variable with naming] )
1,'txt1',2,'txt2',...
ALG: Variable based on feature algorithm [Attribute algorithm]
ALG = '$A.-$B.-$C.-$D.-$E.-$F.-$G.'
Following figure shows the setting area for above mentioned value range variables.
Example 1 - Indirect, calculated use of value range
The order number (NR) results from the string 'xyz' and an attribute algorithm.
NR=xyz ALG ALG=10*RNG
Problem: ALG can be allocated to a unique value, however, due to above restriction the value of RNG cannot be detected.
The same would apply for following slightly modified cases, because here, also an arithmetic operation is performed:
A solution possibly could be to determine the value range values in a way that a calculation via ALG could be omitted and to use RNG directly to determine NR.
Example 2 - Forward resolving with algorithm
ALG1: Forward to a value range
ALG1=RNG (ALG1 is based on a value range)
ALG2: IF Statement to determine the displayed order number value
If ALG1='xyz' then ALG2=123 Else If ALG1='abc' then ALG2=789 End if NR=DIN ALG2
ALG1 can be allocated to a unique value, however, the value cannot be set due to above restriction.
In the IF statement, directly use the value range instead of the algorithm variable.
If RNG='xyz' then ALG2=123 Else If RNG='abc' then ALG2=789 End if NR=DIN ALG2
Example 3 - No separator between value range variables
NR=RNG1RNG2
There is no separator between the two value ranges so that it doesn't become clear from which single value the order number / type code (NR) is combined.
For example, NR='3412' could be a combination of '341' and '2' or of '34' and '12'.
Solution: Set a separator between value range variables. Then it is clear, which element belongs to value range variable 1 and which to value range variable 2.
NR=RNG1-RNG2
Example 4 - No unique paths with same result
If a=1 then ALG='01' Else if a=2 then ALG='0$RNG.' End if
ALG has multiple options which are partial equal. In the first condition "01" and in the second condition "01" as well.
If ALG has the same value reverse resolving cannot be successful. It can not be determined if we have case "a=1" or "a=2". As a consequence a statement about RNG=1 is also wrong.
[24] Key VARSEARCHRESOLVEORDERNO
. At project level, this is in the project file, at catalog level in $CADENAS_DATA/23d-libs/<katalogname>/dir.prj
no GUI equivalent. Manual intervention is not necessary.
[25] The corresponding plugin files must be located at %CADENAS%/libs/all/plugins: resolve_check_tester.cfg, resolve_check_tester.def, resolve_check_tester.vbb