> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lucidworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Best Practices

export const LwTemplate = ({title = "Key questions to get you started", icon = "sparkles", cta = "Powered by Agent Studio", linkHref = "https://lucidworks.com/demo/?utm_source=docs&utm_medium=referral&utm_campaign=docs_cta_ai"}) => {
  const [isLoaded, setIsLoaded] = useState(false);
  useEffect(() => {
    const timer = setTimeout(() => {
      setIsLoaded(true);
    }, 500);
    return () => clearTimeout(timer);
  }, []);
  return <div className="lw-template-container">
      <Card title={title} icon={icon}>
        {isLoaded && <span dangerouslySetInnerHTML={{
    __html: `<lw-template id="a029c1a9-28be-427e-b0e1-5d918920246a"></lw-template
            >`
  }} />}
        <Link href={linkHref} className="agent-studio-link text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Powered by Lucidworks Agent Studio</Link>
      </Card>
    </div>;
};

[localhost link]: http://localhost:3000/docs/4/fusion-ai/concepts/smart-answers/best-practices

[mintlify link]: https://doc.lucidworks.com/docs/4/fusion-ai/concepts/smart-answers/best-practices

[old doc.lw link]: https://doc.lucidworks.com/fusion/5.9/462

Below is a collection of useful tips and tricks that can help improve results.

<LwTemplate />

## Stopwords usage

It makes sense to try enable and disable filtering stop words stage since some stop words may have special meanings for a particular data. Also, although this stage is usually applied after the Deep Encoding stage and before the Solr query stage, sometimes it might help to apply it before the Deep Encoding stage, especially in the cold-start scenario.

## Solr field types

We noticed a reasonable improvement if the `text_en_splitting` field type is used for indexed questions or answers. This field type applies internal stemming and stop word removal, as well as split compound words so that initial candidates retrieval from Solr is less restrictive and leads to better results.

## Field boosting

If several fields are encoded and used for final score ensembling, some fields might be more important. You might see it based on weights coefficients. In that case, boosting-corresponded text fields might provide better results. For example, boost `question_t` to 3 but leave `answer_t` to 1.

## Using two models

In some cases, it might be better to train two different models for QA and QQ matching and use ensembling of them. For example, in the case when there is an initial clean QA dataset with FAQ from a website and additional QQ dataset with real user queries mapped to the existing pool of questions.

## Using spelling and synonym list for cold start solution

When there is very limited content data for the cold start solution to learn the vocabulary, but there are lists of spelling and synonym in the rules engine which can be used to improve results, we suggest to adding a **Text Tagger** stage into the query pipeline (after **Query Encoding** stage, before **Solr Query** stage).

<Note>
  Set the **Original Term Boost for Synonyms** parameter to -1.
</Note>
