Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Basson

Campo de Busca não funciona mais

Recommended Posts

Prezados,

 

Meu portal tem um recurso de busca interno que sempre funcionou desde 2004. Desde então nenhuma alteração foi feita no código, mas o recurso parou de funcionar, do nada, em 2008.

 

É um portal de notícias, super simples. A busca encontrava palavras isoladas ou expressões em qualquer parte de qualquer notícia do site e retornava uma janela com as urls e as primeiras linhas da notícia. Tipo Google.

 

Agora qualquer palavra inserida na Busca retorna a resposta "Não foi possível realizar sua busca", sem qualquer código de erro. Mas a palavra está em uma notícia ou em dezenas de notícias.

 

Por favor, vocês vêem algum erro no code?

 

Muito obrigado.

 

 

CODE
'// Perform the search

 

sub DoSearch(target)

on error resume next

if target <> "" then

dim strQuery

' strQuery = "$contents " & target ' for free text search

strQuery = "((#filename *.asp) OR (#filename *.html)) AND " &_

"(NOT #vpath *\_vti*) AND (NOT #vpath *\cgi-bin*) AND " &_

"(NOT #vpath *\IISOrigBackup*) AND (NOT #vpath *\scripts*) AND " &_

"(NOT #vpath *\_private*) AND " &_

"(NOT #vpath *\FileSharing*) AND " &_

"(NOT #vpath *\includes*) AND " &_

"(NOT #vpath *\natal*) AND " &_

"(NOT #vpath *\search*) AND " &_

"(NOT #vpath *\images*) AND " &_

"(NOT #vpath *old*) AND " &_

"(NOT #vpath *\pop_up*) AND " &_

"(NOT #vpath *\email*) AND " &_

"(NOT #vpath *\bulas_banco*) AND " &_

 

"(NOT #filename *old*) AND " &_

"(NOT #filename *resultado*) AND " &_

"(NOT #filename *action*) AND " &_

"(" & target & ")"

 

 

' Create the Index Server query object, setting the columns, the sort to

' descending, the max records to 300, and the query string to the given

' target. Note that the query string specifies, with NOT and the

' #vpath operators, that any files in the *\_vti path, should be excluded.

' (_vti* directories contain FrontPage Extension files, and we don't want

' users browsing them.)

 

dim ixQuery ' Index Server query object.

set ixQuery = Server.CreateObject("ixsso.Query")

if (Err.description <> "") Then

'Response.Write ("<p><b>Erro: " & Err.description & ".</b></p>" & vbCRLF)

Response.Write ("<p><span class='textohighlights'>Não foi possível realizar sua busca.</span></p>" & vbCRLF)

Exit sub

end if

 

ixQuery.Columns = "doctitle, vpath, filename, size, write, characterization, rank"

ixQuery.SortBy = "rank[d], doctitle"

ixQuery.MaxRecords = 320

ixQuery.Query = strQuery

ixQuery.Catalog = "noticias" ' Specify you catalog here if it's not the default

 

' Create a search utility object to allow us to specify the search type as 'deep',

' meaning it will search recursively down through the directories

dim util

set util = Server.CreateObject("ixsso.Util")

util.AddScopeToQuery ixQuery, Server.MapPath("/"), "deep"

if (Err.description <> "") Then

'Response.Write ("<p><span class='textohighlights'><b>Erro: " & Err.description & ".</b></span></p>" & vbCRLF)

Response.Write ("<p><span class='textohighlights'>Não foi possível realizar sua busca.</span></p>" & vbCRLF)

Exit sub

end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

retire o on error resume next e veja se não tem um erro ocultado ai!

 

Prezado,

 

Excluí "on error resume next" e retornou a seguinte mensagem na Busca:

 

 

CreateRecordset error '80041820'

 

Service is not running.

 

/busca.asp, line 129

 

 

O problema deve estar no seguinte trecho:

 

CODE
dim ixQuery ' Index Server query object.

set ixQuery = Server.CreateObject("ixsso.Query")

if (Err.description <> "") Then

'Response.Write ("<p><b>Erro: " & Err.description & ".</b></p>" & vbCRLF)

Response.Write ("<p><span class='textohighlights'>Não foi possível realizar sua busca.</span></p>" & vbCRLF)

Exit sub

end if

 

ixQuery.Columns = "doctitle, vpath, filename, size, write, characterization, rank"

ixQuery.SortBy = "rank[d], doctitle"

ixQuery.MaxRecords = 320

ixQuery.Query = strQuery

ixQuery.Catalog = "noticias" ' Specify you catalog here if it's not the default

 

' Create a search utility object to allow us to specify the search type as 'deep',

' meaning it will search recursively down through the directories

dim util

set util = Server.CreateObject("ixsso.Util")

util.AddScopeToQuery ixQuery, Server.MapPath("/"), "deep"

if (Err.description <> "") Then

'Response.Write ("<p><span class='textohighlights'><b>Erro: " & Err.description & ".</b></span></p>" & vbCRLF)

Response.Write ("<p><span class='textohighlights'>Não foi possível realizar sua busca.</span></p>" & vbCRLF)

Exit sub

end if

 

' Run the query (i.e. create the recordset).

dim queryRS ' Query recordset.

set queryRS = ixQuery.CreateRecordSet("nonsequential")

 

' Check the query result. If it timed out or return no records, then show

' an appropriate message. Otherwise, show the hits.

if (Err.description <> "") Then

'Response.Write ("<p><span class='textohighlights'><b>Erro: " & Err.description & ".</b></span></p>" & vbCRLF)

Response.Write ("<p><span class='textohighlights'>Não foi possível realizar sua busca, especifique mais sua busca.</span></p>" & "<!-- Erro: " & Err.description & "-->" & vbCRLF)

Exit sub

Else

if queryRS is Nothing Then

Response.Write ("<p><span class='textohighlights'>Não foi possível realizar sua busca.</span></p>" & vbCRLF)

elseif (ixQuery.QueryTimedOut) then

'Response.Write ("<p><b><span class='textohighlights'>Erro4: " & timedOut_Text & ".</span></b></p>" & vbCRLF)

Response.Write ("<p><span class='textohighlights'>Não foi possível realizar sua busca.</span></p>" & vbCRLF)

elseif (queryRS.EOF or queryRS.BOF or queryRS.RecordCount <= 0) then

Response.Write ("<br><br><br><br><p><span class='textohighlights'>Nenhum registro encontrado.</span></p>" & vbCRLF)

else

queryRS.PageSize = rowCount

call showHits(queryRS)

if (Err.number <> 0) Then

Response.Write ("<p><b>Erro5: " & Err.description & ".</b></p>" & vbCRLF)

End If

end if

End If

 

Obrigado pela força.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é exatamente a linha 129?

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é exatamente a linha 129?

 

 

Prezado, é a seguinte:

 

 

CODE
' Run the query (i.e. create the recordset).

dim queryRS ' Query recordset.

set queryRS = ixQuery.CreateRecordSet("nonsequential")

' Check the query result. If it timed out or return no records, then show

' an appropriate message. Otherwise, show the hits. if (Err.description <> "") Then

'Response.Write ("<p><span class='textohighlights'><b>Erro: " & Err.description & ".</b></span></p>" & vbCRLF)

Response.Write ("<p><span class='textohighlights'>Não foi possível realizar sua busca, especifique mais sua busca.</span></p>" & "<!-- Erro: " & Err.description & "-->" & vbCRLF)

Exit sub

Por que será?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é que o serviço ixsso não está sendo executado. Pelo que pude encontrar em algumas pesquisas esse é um serviço do IIS. Houve uma alteração no seu servidor, pode ser que tenham desabilitado ou alguma atualização do sistema pode desabilitar o serviço. Entre em contato com eles e verifique isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é que o serviço ixsso não está sendo executado. Pelo que pude encontrar em algumas pesquisas esse é um serviço do IIS. Houve uma alteração no seu servidor, pode ser que tenham desabilitado ou alguma atualização do sistema pode desabilitar o serviço. Entre em contato com eles e verifique isso.

 

Amigos,

 

A solução "brilhante" do help desk é eu modificar meu plano de hospedagem que custa 58,00 para um de servidor dedicado que custa "só" 700,00. E isso por um erro cometido por eles, que em consultoria técnica, conhecendo as necessidades do site, recomendaram meu atual plano de hospedagem. Deixaram o site funcionado perfeitamente por 6 meses e sem a menor satisfação retiram o recurso que permitia a busca nos sites, desrespeitando os contratos já celebrados.

 

Quebram o contrato e o cliente que se vire.

 

Vocês têm alguma sugestão de como eu posso desenvolver outro sistema de busca sem usar o falecido index server, já que uma das maiores empresas de hospedagem de sites não tem a capacidade de gerenciar esse recurso?????

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.