Busca estilo GOOGLE

Olá, preciso de uma ajuda no leitor de RSS que estou fazendo.
Preciso fazer uma pesquisa no estilo Google, onde vou inserir operadores lógicos entre as palavras, por exemplo:
Procuro nos feeds cadastrados as palavras ABACAXI ou a palavra BANANA. A idéia é retornar o feed onde tiver a palavra ABACAXI ou BANANA independe de estarem no mesmo tempo ou não.
Se quiser as duas palavras, ABACAXI e BANANA então tem que por obrigação estar as duas palavras dentro do texto.
EXEMPLO DE COMO DEVE SER PESQUISADO:

ABACAXI OR BANANA ; ABACAXI AND BANANA

Obrigado pela atenção de todos e espero que possam me ajudar.

Você está com alguma dúvida ou quer que façamos para você?

Se puderem fazer para mim eu agradeço, porque eu não tenho nem idéia de como vou começar.
Obrigado pela atenção

veja se te ajuda
http://lucene.apache.org/

se vc usa o banco oracle, uma solução eh indexar usando um indice de contexto. Esse indice permite operadores logicos na condição de busca.

Então, é que estou fazendo a busca dentro de uma variável do tipo string mesmo, sem banco de dados

[quote=victorhugozm]Olá, preciso de uma ajuda no leitor de RSS que estou fazendo.
[/quote]

Como é um leitor de RSS, usar o Lucene é muito pesado. Mais fácil você criar uma tela com as condições, mais ou menos assim:

Procurar palavra: [               ]
[E  |v]
[OU | ]
         palavra: [               ]
[E  |v]
[OU | ]
         palavra: [               ]
[E  |v]
[OU | ]
         palavra: [               ]
...
excluindo: [               ]
[E  |v]
[OU | ]
         palavra: [               ]
[E  |v]
[OU | ]
         palavra: [               ]
[E  |v]
[OU | ]
         palavra: [               ]
...
nos tópicos de:   [dd/mm/aaaa][#]
             a:   [dd/mm/aaaa][#]

onde [E/OU] representa um combo (ou radio button, o que você achar melhor) que liste as operações lógicas, e [#] é um botão para você mostrar um campo de entrada de calendário.

Um exemplo mais sofisticado é a tela de busca avançada do Google ( http://www.google.com.br/advanced_search?hl=pt-BR ). Você pode fazer algo bem, bem mais simples.

Uma coisa que aprendi é que dificilmente as pessoas sabem usar AND e OR para consultas; isso vai além do mapa mental delas.

A única exceção é quando você quer que procure AND: basta juntar as palavras, por exemplo “busca estilo” deve achar todos os tópicos que contém as palavras BUSCA e ESTILO. Não force o usuário a usar AND (ou + como nos tempos do Altavista). Isso não é nem um pouco intuitivo.

Se você quer que o usuário use consultas complexas, não use um método complexo (queries com AND e OR).
Apesar do formulário ser bem mais chato de preencher, ele é mais explicativo.

O problema que o meu professor só vai aceitar daquele jeito que falei para vocês, segundo ele o grau de dificuldade faz parte