Current Version: LF 9.1
Previously version: LF 8.3
Not able to use * (asterisk) in fields that have drop-down list. Client not able input asterisk. Admin console can input asterisk but no search results.
Current Version: LF 9.1
Previously version: LF 8.3
Not able to use * (asterisk) in fields that have drop-down list. Client not able input asterisk. Admin console can input asterisk but no search results.
To perform a search for if a field is applied regardless of whether it has a value, you must use the advanced search syntax to combine a search for the field when it is blank with a wildcard search for the field.
Performing this search for multiple fields gets complicated, so I will start with searching for a single field. For example, to search for a document that has both Category applied, either blank for with values, you would do the following:
{[]:[Category]="*"} | {[]:[Category]=""}
The first portion of the search, {[]:[Category]="*"} , is like what the client is currently doing: performing a search for documents that have the field with any value. The second half of the search, {[]:[Category]=""} , is searching for documents that have no value. The two halves are combined using | which means OR.
If you want to search on multiple fields where you care if ANY of the fields are present, you just use another OR to add additional fields, like so:
{[]:[Category]="*"} | {[]:[Category]=""} | {[]:[SSN]="*"} | {[]:[SSN]=""}
This says search for documents that satisfy any of these criteria.
If you want to search on multiple fields where ALL of the fields are present, you would need to do something like this:
({[]:[Category]="*"} | {[]:[Category]=""}) & ({[]:[SSN]="*"} | {[]:[SSN]=""})
Note how I have enclose each field's section in ( ), and then combined the two clauses using AND: & .This means search for all documents which have Category, which can be blank or not, AND SSN, which can be blank or not.
I am not having any issues using a wildcard * in list fields when searching using Laserfiche 9.0.3, 8.3.2, or 9.1.1.548 (9.1.1 service pack 1): I simply type in the asterisk and run the search, and results are returned. Furthermore, from your screenshot, I don't see any issues. You said "Client not able input asterisk", but in your screenshot, there is an asterisk and no errors. What exactly is going wrong?
Edit: If the list field is an indexed field, I do get an error:
We do have a bug filed about this issue, but until it is fixed, if you want to search using * in this particular list field, your options would be to a) uncheck the option in the admin console to index the field or b) manually edit the search syntax generated, removing the ~ that comes before the =. For example: {[]:[Category]~="*"} should become {[]:[Category]="*"}
The list field is not indexed. Further discussion with Client user, their issue is that search results are limited to items in list fields. They're thinking that wildcard will show all search results regardless.
The search shown in the screenshot will return all documents that have all of those fields applied, either independently or through a template, and those fields are not blank.
What exactly is the user trying to accomplish by performing the search in the screenshot? Find documents where any of those fields are not blank? Find documents where those fields are all applied, whether they are blank or not?
Find documents where those fields are all applied, whether they are blank or not? Yes
To perform a search for if a field is applied regardless of whether it has a value, you must use the advanced search syntax to combine a search for the field when it is blank with a wildcard search for the field.
Performing this search for multiple fields gets complicated, so I will start with searching for a single field. For example, to search for a document that has both Category applied, either blank for with values, you would do the following:
{[]:[Category]="*"} | {[]:[Category]=""}
The first portion of the search, {[]:[Category]="*"} , is like what the client is currently doing: performing a search for documents that have the field with any value. The second half of the search, {[]:[Category]=""} , is searching for documents that have no value. The two halves are combined using | which means OR.
If you want to search on multiple fields where you care if ANY of the fields are present, you just use another OR to add additional fields, like so:
{[]:[Category]="*"} | {[]:[Category]=""} | {[]:[SSN]="*"} | {[]:[SSN]=""}
This says search for documents that satisfy any of these criteria.
If you want to search on multiple fields where ALL of the fields are present, you would need to do something like this:
({[]:[Category]="*"} | {[]:[Category]=""}) & ({[]:[SSN]="*"} | {[]:[SSN]=""})
Note how I have enclose each field's section in ( ), and then combined the two clauses using AND: & .This means search for all documents which have Category, which can be blank or not, AND SSN, which can be blank or not.