package com.purui.prims.headless.chat.mapper;


import com.purui.prims.headless.api.pojo.response.S2Term;
import com.purui.prims.headless.chat.ChatQueryContext;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * MatchStrategy encapsulates a concrete matching algorithm
 * executed during query or search process.
 */
public interface MatchStrategy<T> {

    Map<MatchText, List<T>> match(ChatQueryContext queryContext, List<S2Term> terms, Set<Long> detectDataSetIds);

}