This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Grid Band Search Function

Hello,

We are working with a Grid Band search function, setting the "IsSearchActive" extended property to true, and can only get results back that start with the search string entered.  We also want to get results that "include" the search string.  For example, we do a search for the string "aug"

 

and get no results.

However, when we do a search for "s-aug" we get results that start with "s-aug".

Is there a way to modify the search so that we also get results that include the search string rather than just start with the search string?

  • You can use * as wildcard. For your example type *aug*

    You will find more in regards to the search in the documentation https://support.oneidentity.com/technical-documents/identity-manager/8.0/web-portal-user-guide/5#TOPIC-863684 

     

  • I'm sorry I should have been more specific. We are doing the search in the web portal and am looking for a way to modify the Grid Band search properties in the Web Designer to find objects that include the search string rather than start with the search string. Using the wildcard works, but is there a setting we can specify so that the user doesn't have to use the wild card? I looked at the recommended documentation and it seems to be referencing the search function in the Manager tool which does not apply in this case.
  • My documentation link is directly into the Web Portal User Guide, so you might want to check there.

    You might want to check the following web project configuration setting as well. I am uncertain if that is working but it might worth a try.

  • Thanks for the response Markus.

    Other than setting it to true, which is by default, I couldn't find any other way to utilize the VI_Common_SqlSearch_PrefixLike key/parameter.

    Analyzing the web portal documentation, however, I was able to find something that helped me partially solve the problem.

    I did not know this, but apparently when a search occurs the search string is broken down into tokens by the by the search index and the search term is then compared to each of these tokens in order to return the desired results.  The problem, however, is that it still only compares to the start of each of token and not within it.

    In our environment, the search string for our accounts will always have a hyphen and an underscore in the name which is used to separate and signify the type of account and the environment of the account.  For example, in the name "s-aug17test_qa" the "s-" prefix signifies the type while "_qa" signifies the QA environment.  I simply added the hyphen and the underscore as part of the token delimiters.  Before when I typed in "aug" it would not return anything because there was no token that started with "aug".  After adding the hyphen as a token delimiter, I now get results that have "aug" in it because "aug" is now the start of a token.

    "s-aug17test_qa" is now broken into "sa" "aug17test" and "qa" tokens instead of just "s-aug17test_qa" which is what the token would look like without the hyphen or underscore delimiter.

    I believe that this is how it works, but could be wrong.

    One question I had is what does the "Common\Indexing\IndexUseLegacyAnalyzer" do?  There's a table in the web portal doc that describes some tokens, but not how to utilize it.

  • The documentation describes how the legacy analyzer creates the tokens from your database content. To enable it you have to enable the configuration parameter Common\Indexing\IndexUseLegacyAnalyzer and re-create your search indexes.
  • Thanks for clarifying Markus.  Will try it out.

  • Hi Markus,

    What is the procedure for re-creating the search indexes?  Is it simply rebuilding the index of the table?

    https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorganize-and-rebuild-indexes?view=sql-server-2017

  • The search index is not SQL based but based on Lucene.Net. If you are on 8.0.1 you can rebuild the index in the Application Server UI.