Application Server: Possibilty to customize the scope of index search

Hi

We are running a 8.2 environment and using the web portal for end users. Because we have a large number of products, we enabled the config parm "Common\DBConnection\WebListLimit" to show a maximum of 1000 records per index search. If the possible result is larger than the configured limit a warn icon is displayed near the index search input field. Because we have configured some additional conditions in the whereclause for the AccProductCandidate collection, in some cases we got a strange behavior. Because the final result shows a number of records that is lower than the configured limit, but the warn icon is still displayed.

From my point of view this happens, because the Application Server is not able to consider the additional condition configured in the web project. Therefore I am searching for a possibility to customize the scope of the index search. So, is there any chance to tell the Application Server which records should be put into the index cache and which one should be left out?

Regards
Sven

Parents
  • Hi Sven,

    This is (for now) by design. The search index is not aware of permissions or shop memberships, and always searches on the entire set of service items.

    There is a way to work around this to some extent. Are you running the default application, or are you customizing?

    Thanks

    Hanno

  • Good morning Hanno, we have customized the web portal.

    Regards
    Sven

  • Hello Sven,

    First I think you need to set another configuration parameter. The number of results returned by the search index is managed by the parameter Common\Indexing\DefaultResultLimit. You can set this up to 8000, above which you may run into SQL server limits.

    There is also an option to reverse the search algorithm. Please look for a property named "IsSearchAfterLoad" in the standard WebDesigner Grid components for requests and attestations. You can add this property to any custom grids that load data. If IsSearchAfterLoad is enabled, the server will do the following:
    Step 1: load the matching entities from the database
    Step 2: query the search index using the result of step 1
    This works fine if step 1 returns a relatively small number of entities compared to the total number of search results in the index.

    Regards

    Hanno

Reply
  • Hello Sven,

    First I think you need to set another configuration parameter. The number of results returned by the search index is managed by the parameter Common\Indexing\DefaultResultLimit. You can set this up to 8000, above which you may run into SQL server limits.

    There is also an option to reverse the search algorithm. Please look for a property named "IsSearchAfterLoad" in the standard WebDesigner Grid components for requests and attestations. You can add this property to any custom grids that load data. If IsSearchAfterLoad is enabled, the server will do the following:
    Step 1: load the matching entities from the database
    Step 2: query the search index using the result of step 1
    This works fine if step 1 returns a relatively small number of entities compared to the total number of search results in the index.

    Regards

    Hanno

Children
No Data