**CLP is a log search tool that operates on compressed logs. This enables order of magnitude of resource savings and you can search the entire history of your archived logs.

This page answers some frequently asked questions and describes best practices that you can use to optimize compression ratio and search performance, in turn reducing your cost.**

1. Do I need to provide a schema (e.g., grok expression) to tell CLP how to parse my log?

No. CLP's log compression algorithm is general to any text log. All you need is to provide your logs and CLP will automatically compress them.

2. How do I achieve the best compression ratio?

You pay for the size of the compressed log, so a higher compression ratio means less cost. Here's how to achieve the best compression ratio:

3. What if my logs include other data, such as binary logs, JSON logs, or other text files?

First, rest assured that CLP will not lose any of your data. Compression is guaranteed to be lossless regardless of the data format. Ingesting data other than unstructured text logs may affect the compression ratio. CLP has smart algorithms to differentiate text files from binary files, so any binary files that are ingested won't be compressed, and they won't be included in the search results. Any text files, regardless of whether they're logs, will be compressed and included in search results.

4. How can I optimize my search performance?

The more precise your search phrase is, the better the performance (and the lower the cost). In other words, try to include more substrings of the target log message. Even punctuation and spaces matter. This helps CLP to significantly narrow the search scope.

For example, search for " container* Container Transitioned from RUNNING " will be faster than searching just "container* RUNNING".

You should also use filters when applicable. For example, if you only want to search for results within the past 48 hours, use a time filter with your search.

5. Is CLP's search precise?

CLP respects all characters in a query, just like Unix grep. This is different from full-text search tools (e.g., Google) that interpret the query more loosely, for instance by ignoring punctuation, stop words (e.g., "and", "but"), etc.

For example, for a query like " master/", a full-test search tool usually return all matching results containing the word master, ignoring the space and / in the query. In contrast, CLP and grep return only log messages that contain the precise string " master/".

<aside> 💡 Keep in mind CLP extracts and stores the timestamp separately from the message. So users should not include a timestamp in their query string but should instead use the timestamp selector.

</aside>