Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #80889
    molmedo
    Participante

      Olá pessoal!
      Comecei a trabalhar com oracle há 2 semanas, e ainda estou um pouco perdido com a infinidade de recursos que ele propcia aos desenvolvedores. Estou com um erro em produção que não consigo identificar o problema. Pra que serve o SCORE da query abaixo? E alguem saberia me dizer qual o problema do mesmo?
      Obrigado a todos.

      SELECT COUNT(*) as total
      FROM (SELECT SCORE(1) AS rank, iSearch.*, ictDocumentos.idarea , ictAreas.idIdioma FROM iSearch, ictDocumentos, ictAreas WHERE iSearch.idDocumentoiContent = ictDocumentos.idDocumento (+) AND ictDocumentos.idarea = ictAreas.idArea (+) AND CONTAINS(Body,'ABOUT(empresa frota)',1) > 0 ORDER BY SCORE(1) DESC, URL)

      #80890
      Ishii
      Participante

        Basicamente, o score ira trazer a posição retornada pela query num ranking conforme a condição contains. (por exemplo: 1 lugar, 2 lugar etc). O erro 904 deve ser por causa de alguma das colunas não estar ou com o nome correto ou nao ter nas tabelas referenciadas. Verifique todas as colunas da query.

        []s Ishii

        #80891
        molmedo
        Participante

          Ola Ishii! Obrigado pelo retorno.
          Fiz a verificação dos campos da tabela e não encontrei nenhuma inconformidade com os campos e o erro continua:
          ORA-00904: SCORE invalid identifier;
          00904.00000 “%s invalid identifier”

          Será algum problema com a clausula SCORE?

          []

          #80892
          LoadingXp
          Participante

            Oba meu amigo bem vindo ao Oracle

            Segue eu vou te mostrar não resolver seu problemas mas vc vai identificar ONDE está o problema, vai mandando para nos depois

            SELECT
            COUNT() as total
            FROM (
            [b] SELECT SCORE(1) AS rank,
            iSearch.
            ,
            ictDocumentos.idarea ,
            ictAreas.idIdioma
            FROM iSearch,
            ictDocumentos,
            ictAreas
            WHERE
            iSearch.idDocumentoiContent = ictDocumentos.idDocumento (+)
            AND ictDocumentos.idarea = ictAreas.idArea (+)
            AND CONTAINS(Body,'ABOUT(empresa frota)',1) > 0
            ORDER BY SCORE(1) DESC, URL[/b]
            )

            Amigo executa a primeira parte que está dentro do seu FROM


            SELECT SCORE(1) AS rank,
            iSearch.*,
            ictDocumentos.idarea ,
            ictAreas.idIdioma
            FROM iSearch,
            ictDocumentos,
            ictAreas
            WHERE
            iSearch.idDocumentoiContent = ictDocumentos.idDocumento (+)
            AND ictDocumentos.idarea = ictAreas.idArea (+)
            AND CONTAINS(Body,'ABOUT(empresa frota)',1) > 0
            ORDER BY SCORE(1) DESC, URL

            Concerteza não vai funcionar pois ai esta seu problema. Tenta desabilitar tambem o ORDER BY, se não funcionar desabilita o SCORE

            Sua query vai ficar assim:


            SELECT --SCORE(1) AS rank,
            iSearch.*,
            ictDocumentos.idarea ,
            ictAreas.idIdioma
            FROM iSearch,
            ictDocumentos,
            ictAreas
            WHERE
            iSearch.idDocumentoiContent = ictDocumentos.idDocumento (+)
            AND ictDocumentos.idarea = ictAreas.idArea (+)
            AND CONTAINS(Body,'ABOUT(empresa frota)',1) > 0
            ORDER BY /SCORE(1) DESC,/ URL

            Manda o erro que retornar depois….

            Luciano Alvarenga Maciel Pires
            http://fulloracle.blogspot.com
            lucianoalvarenga@gmail.com

            #80896
            molmedo
            Participante

              Olá Luciano.
              Obrigado pelo retorno.
              Consegui resolver o problema. O problema era que não estava habilitado no servidor a opção ContextSearch. Então foi habilitado e criei um índice de contexto no campo Body da minha tabela. Ae funcionou o SCORE e o CONTAINS.

              Obrigado.

              #80911
              LoadingXp
              Participante

                Otimo!!! Qualquer coisa estamos ai!!!
                Gostei do seu comando SCORE, depois vou dar uma olhada!!

              Visualizando 6 posts - 1 até 6 (de 6 do total)
              • Você deve fazer login para responder a este tópico.