cancel
Showing results for 
Search instead for 
Did you mean: 

Free-Form Search

Former Member
0 Kudos

Hi Gurus,

I would like to ask for your help regarding Free-From Search in MDM Catalog.

Please help me determine the differences of the Operators below:

-          (progressive)

-          Keyword contains

-          Keyword starts with

-          Keyword equals

-          Keyword sounds like

We are thinking of changing the configuration from progressive to Keyword contains however we are still not sure about the impact of this.

Thank you so much.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Hershey,

First let me explain how a keyword search works and how Stemming works and then ill tell I will explain about the operators

Keyword Search: When you perform a keyword search, MDM will search for that particular word

across all the fields of the table for which the keyword property is enabled(This property is set in MDM Console).

Stemming: When This property is enabled in MDM Console(Keyword property set to Stemmer), MDM will find the base form of the entered word and search for across all te keyword enabled fields in a table. e.g, if you enter  the word "that" in keyword search, the system will find the base word and search for both the words "that" or "Those" across all the keyword enabled fields.(For more information refer the SAP MDM Data manager guide Pg No 46)

Progressive search: It will work similar to stemming, it will find other words which are very similar to the provided search word.

Contains: This will search for the provided search word, which might or might not be a part of another word across all keyword enabled fields.

Starts With: will search for all the keyword enabled fields if their is any field which starts with the provided search parameter.

Equals: Will look for the exact match across all the keyword enabled fields.

Sounds Like: This will ignore spelling errors and search for the provide search parameter in all the keyword enabled fields.

Hope this helps,

Rgds,

Prasad.

Former Member
0 Kudos

Hi Prasad,

Thank you so much for the response. I would like to ask what is the best operator to be used?

Thank you.

Former Member
0 Kudos

Hi Hershey,

Which operator to use depends on how you want to perform search.

Again you have to understand that searching for a "value/string" using Keyword will be done on all the fields for which Keyword property is enabled.

In most cases, users use the other fields available in the free form search(fields for which the search tab is set to "yes" are available in the free form search).

If you were to take my opinion, use the fields available in the free form search, this will search for the string only in that particular field accross the repository. Use the operator as "Contains", which will throw more acurate results.

Rgds,

Prasad

former_member198313
Contributor
0 Kudos

Hi Hershey,

1 small point; Keyword contains search will be faster than progressive.

However I believe for the Catalog Progresssive would be better choice as it gives variants also.

However what was the driving factor to think for the chane !

+ An

Former Member
0 Kudos

Hi Hershey,

In addition to response from Prasad, you should use Keyword Search for those fields only which would contain small number of unique words. And regarding the operators to be used:

  • If your requirement is that you want to select only specific single word in the record fields, then you should select "contains" as operator for Keyword Search.

        e.g. searching "talking" will display results for "talking" only.

  • If your requirement is that you want search results to contain similar words(along with the word mentioned in search) to your search filter then you should go for operator "progressive".

       e.g. searching "talking" will display results for "talkin", "talk", "talks" etc as well because all of        these share same stem "talk".

I hope this helps.

Regards,

Ankush Bhardwaj

Former Member
0 Kudos

Hi Ankur and Ankush,

thank you so much for the responses. We simulated in the MDM Manager, when we use Keyword field to search for like 0R and the operator is Progressive, it did not provide any result. However when we changed the operator to contains, a result was provided such as 0R1234 (sample only). If "contains" selects only specific single in the record fields, how come it returned a result with 0R1234.

Thank you

Former Member
0 Kudos

Hi Ankur, there is a data that we can't search using the Keyword Field with Progressive set up.

former_member193350
Active Participant
0 Kudos

Hi Hershley,

In Keyword field  Progressive operator will work only if you have stemming installed in it. Else it will check for exact word.

Progressive search has compound effect when stemming is installed,Finding variants of the search word in addition to the search word itself.

That's why when you are seraching for OR in OR1234. it is not providing any result.

Please check whether stemming is enabled or not.

I hope this helps.

Thanks

Prateek

Former Member
0 Kudos

Hi Hershey,

Since you are using operator 'contain' for keyword search, it will select only for single specific string in all the fields set for Keyword search. In your case, you had searched for '0R'. So system would return all search results which contain '0R' as a string or sub-string. e.g. it will select results for '0R', '0R1234', '120R34' or '12340R'. So contains will search for '0' and 'R' together in the field values because in all the above examples, values "contains" 0R(position of this string appearing does not matter).

If we had kept the operator as "equals" then it would select search results which have values == '0R'.

But contains will match '0R' with sub-string values as well and returns the results.

I hope this helps. Let me know if you have any queries.

Regards,

Ankush Bhardwaj

Former Member
0 Kudos

Hi Prateek,

How will I verify if stemming is installed in our system? Do you know the steps on how can I check it?

Thank you.

former_member193350
Active Participant
0 Kudos

Hi Hershey,

You can check that In SAP MDM Console.

Just go to that particular repository.

Select the required table.

Select the particular field in that table.

Check the Field detail of that field

Inside Field detail, Go to Keyword and check whether 'Stemmer' is selected or not.

If it is 'Stemmer' then stemmer is enabled for that field else not.

Hope it helps

Thanks

Prateek

Former Member
0 Kudos

Hi Prateek, is the MDM Console a different interface? This is not in SAP right?

Thank you

former_member193350
Active Participant
0 Kudos

Hi Hershey,

Just like SAP MDM data Manager is for managing the master data. Inside the data manager you are doing the search operation in the required table. So all these administration settings regarding the field will be done on different client named as MDM Console. basically Console is used for data modeling purpose.

Regards

Prateek

former_member193350
Active Participant
0 Kudos

Hi Hershey,

Please update the thread.

Is your query regarding stemmer installation is clear ?

If you need any further information please let me know..

Regards

Prateek

Former Member
0 Kudos

Hi Ankush, we are not using 'contain' the current set up is 'progressive'. Stemmer is installed in the keyword field but it is not providing a result when we enter like '0R'. I think we need to change the operator to 'contains'.

Former Member
0 Kudos

Hi Hershey,

Progressive operator basically is for Hybrid kind of search. If you specify a recognized word as search term, then it will perform stemming for this and returns search results. If you provide combination of characters which do not form a 'word' then it will provide various type of search only if you provide some "wildcard character" along with search term.

e.g. In your case you are searching for '0R' (Zero and then Capital R), which is not recognized character in Dictionary, then if you do not provide any wildcard character with it, it will search based upon stemming first and then according to "equals" operator. Since it is not a word and there would be no value == '0R' so it is not returning any search result.

If you search with wildcard character '*'

Search Term "*0R*", it will search similar to operator "contains" and will display search results which will have any sub-string '0R' in the field value. So it will return search results like '0R1234', '12340R' etc etc.

If you use wildcard character '='

If your search term is like '=0R', then it will act as 'equals' operator and will return search results for values =='0R' only and will not search in sub strings for this value and also no stemming will be done.

If you use wildcard character '+'

If you search like '+0R' then it would search first based upon stemming, then equals and then sounds like.

So "progressive" operator can search like all operators based upon the wilcard character mentioned with search term.

So kindly check in your system by searching '*0R*' and it will surely return search results as expected. Kindly let me know if your problem is solved using wildcards. Thank you.

Regards,

Ankush Bhardwaj

Former Member
0 Kudos

Hi Ankush, thank you so much for the explanation. But in our case if other data are being inputted such as AR without any wildcard character, it returns a value. There are just some cases that the search does not return a value. Like our previous sample if we search using 0R, no result but in the system we actually have like 0R123.

Regards

Former Member
0 Kudos

Hi Hershey,

AR contains both alphabets but 0R is Alphanumeric (0 is numeric value and R is alphabet).

In stemming, it will consider AR as root and return results corresponding to 'AR' and its variants(variants could be zero or more than zero). But in case of alphanumeric values, it is not able to stem these as it is not able to recognize this alphanumeric value as a word and hence it is not returning any search result.

So i would suggest you to use wildcard character '*' in case you are searching for alphanumeric strings in the values so that system would perform "contains" search and display results. While in case of normal alphabetic search, you need not maintain any wildcard as it will stem the string and return expected results. I hope this is helpful for you now.

Regards,

Ankush Bhardwaj

Former Member
0 Kudos

Hi Ankush, thanks again. Your answers are very helpful. But I got another question. If I input a data sample 0R123, it does not return a value. But when I enter 1R123, it returns a value.

Thank you.

Former Member
0 Kudos

Hi Hershey,

I am not sure why is it happening. You need to check at your end and decide on which option you need to use as per your requirement. I have described the functionality to you and now the decision lies with you. Kindly reward points if answers were helpful. Thank you.

Regards,

Ankush Bhardwaj

Former Member
0 Kudos

Hi Hershey,

Kindly update if your query has been resolved.

If yes, then kindly reward points to relevant answers and close the thread.

Thank you.

Regards,

Ankush Bhardwaj

Former Member
0 Kudos

Hi Ankush,

Do you know about the connection of MDM DAta manager to the e-catalogue?

Thank you.

Former Member
0 Kudos

Hi Hershey,

I do not know much about this. I would suggest you to close this thread and create new one for this query of yours so that other experts could respond to your query. And also kindly elaborate your requirement. Thank you.

Regards,

Ankush Bhardwaj

Answers (0)