Page 1 of 1

Problem at searching on metadata fields

PostPosted:Thu Jun 20, 2019 8:49 am
by mamad
Hi there,
I have two major problem in searching on metadata fields of files.
Problem number 1:
For metadata fields with string type, search will find only result with exact match .for example if my metadata filed be "openkm" and i search "open" phrase, it will not find any results.why ?

problem number 2:
search will ignore dollar sign character.it means if my metadata filed be "open$km" and i search "open$km" phrase, it will not find any results too.please consider that in this case i search exactly the same name as it is.

thank you .

Re: Problem at searching on metadata fields

PostPosted:Sat Jun 22, 2019 7:52 am
by mamad
I test another phrases and openkm failed to find the results
I believe Searching on metadata fields is really unreliable at openkm.I mean you cant trust the results of your searching on metadata fields .I think it is very bad for a global software like this.
For example in the case that my metadata value is "abcd-efgh-ijk" . if you search this phrase,openkm wont find any result but if you set this phrase as the file name of your document and search it , openkm will find the result !!!!
I also replaced all '-' characters by '_' (change metadata value to "abcd_efgh_ijkl") and search it again but it did not found any result too.
It is very strange and irrational that result of search is different for metadata fields and non metadata field.
Thanks in advance

Re: Problem at searching on metadata fields

PostPosted:Sat Jun 29, 2019 10:21 am
by jllort
That's because you do not understand what is behind and what is a word and what is a keyword. Almost DMS using the lucence search engine and Lucene plays always in the same way.

1- all the terms going into Lucene -> passing across a tokenizer, that means the phrase or word you are setting will be tokenized. You can change the default tokenizer by your own or by one what will work in a way what might be better for the type of results you want.

2- In case of metadata of type select you should think in terms like database ( key column and label column ) -> consider that the value is a key what will go across the tokenizer, but is not mandatory the key be a text string, might be for example a number 0001, 0002 etc...
<option label="some text" value="0001" />
<option label="some text2" value="0002" />

You should not use a key with "_" and especially with "-", because the tokenizer will split as separate words, one thing is the label and other the option value. If you are in a scenario with free text into input fields or textarea fields then might be you should enable only white space tokenizer. Take a look here about how to enable WhiteAnalyzer https://docs.openkm.com/kcenter/view/ok ... lyzer.html

Usually, power tools mean a lot of configuration possibilities what at the same time means things are not so direct.

Finally you should not use $ as a character wildcard you must use ? take a look here https://docs.openkm.com/kcenter/view/ok ... earch.html