Como você implementa uma pesquisa de texto completo em várias colunas no servidor sql?

Estou tentando implementar uma pesquisa de texto completo em duas colunas nas quais criei uma exibição: VendorName, ProductName. Eu tenho o índice de texto completo etc funcionando, mas a consulta real é o que está causando alguns problemas para mim.

Desejo que os usuários possam usar algumas convenções de pesquisa padrão, AND OR NOT e o agrupamento de termos por (), o que é bom, mas quero aplicar a pesquisa nas duas colunas; por exemplo, se eu executar uma consulta como:

SELECT * FROM vw_Search 
WHERE CONTAINS((VendorName, ProductName), "Apple AND iTunes")

Parece estar aplicando a consulta a cada coluna individualmente, ou seja, verificando o nome do fornecedor para os dois termos e depois verificando o nome do produto para os dois termos que não corresponderão, a menos que o fornecedor tenha sido chamado de "Apple iTunes".

Se eu alterar a consulta para:

SELECT * FROM vw_Search 
WHERE CONTAINS(VendorName, "Apple OR iTunes") 
AND CONTAINS(ProductName, "Apple OR iTunes")

então ele funciona, mas interrompe outras consultas de pesquisa (como pesquisar apenas pela apple) e, do usuário que está escrevendo a consulta, não faz muito sentido o que eles provavelmente escrevem é AND, mas exige que um OR funcione.

O que eu quero é retornar se, entre os dois, o termo de pesquisa for válido, para que corresponda a todos os fornecedores chamados apple com um nome de produto itunes, por exemplo.

Devo criar um campo separado na exibição que concatene os campos Fornecedor e Produto e execute a primeira consulta nesse novo campo ou há algo que estou perdendo?

Além disso, alguém saberia de um método existente para validar as consultas?

questionAnswers(1)

yourAnswerToTheQuestion