vespa icon indicating copy to clipboard operation
vespa copied to clipboard

Query with `phrase()` fails to match content in the document

Open maxice8 opened this issue 1 year ago • 13 comments

Describe the bug I have a document with a large field content that can be searched, in some situations strings that are in the document end up not being matched

To Reproduce Steps to reproduce the behavior:

  1. Create a Vespa instance with the Dockerfile found here, it will start a Vespa instance and deploy to it the schema and the document where the bug can be triggered.
  2. Following the above's link README.md execute the query select * from diary_page where default contains phrase("JOAO", "PAULO", "MARTINS", "DE", "SOUZA", "BARBOZA") to try the find the text in the content field.

Expected behavior It is expected that it will match the text JOAO PAULO MARTINS DE SOUZA BARBOZA which is found around 23022714224705600000090540621 Envolvido: JOAO PAULO MARTINS DE SOUZA BARBOZA (POLO: Polo passivo) Advogado: JOAO PAULO MARTINS DE SOUZA BARBOZA (OAB: 0001304S/RN) found in the field content

Screenshots image

Environment (please complete the following information):

  • OS: vespaengine/vespa docker image
  • Infrastructure: Kubernetes and self-hosted
  • Versions: N/A

Vespa version 8.224.19 (first seen in Prod), 8.256.22 (Currently confirmed in Prod), 8.263.7 (Current version of the vespaengine/vespa docker image as of reporting this bug)

Additional context Doing the query select * from diary_page where default contains phrase("JOAO", "PAULO", "MARTINS") will work as expected, as soon as the "DE" is introduced it will fail.

If one queries while omitting the "DE" with select * from diary_page where default contains phrase("JOAO", "PAULO", "MARTINS", "SOUZA", "BARBOZA") it will unexpectedly match (when it should not as there is a DE between MARTINS and SOUZA), and the returned highlighted section is the absolute start of the content field (as seen below)

{
  "id": "id:diary_page:diary_page::1",
  "relevance": 0.510403676930579,
  "source": "Vespa_content",
  "fields": {
    "sddocname": "diary_page",
    "content": "Processo 0812067-63.2022.8.20.0000 Sigla Tribunal: TJRN Órgão: Gab. Des. Expedito Ferreira na Câmara Cível Data de disponibilização: 28/02/2023 Tipo de comunicação: Intimação Classe: AGRAVO DE INSTRUMENTO Meio: Diário Eletrônico de Justiça Nacional Inteiro Teor: https://pje2g.tjrn.jus.br:443/pje/Processo/ConsultaDocumento/listView.seam?x=23022713470018100000017942970 Envolvido: JOSE CARLOS MACHADO ROESSLER (POLO: Polo ativo) Advogado: JOSE CARLOS MACHADO ROESSLER (OAB: 9036/RN) Conteúdo: PODER<sep />",
    "documentid": "id:diary_page:diary_page::1",
    "filtrado": false,
    "id": 459931779
  }
}

maxice8 avatar Dec 13 '23 19:12 maxice8

How large is the content field?

in some situations strings that are in the document end up not being matched

Only the first 1M characters are indexed by default, so it might be that you are experiencing that if this problem is isolated to phrases at the end of the text.

You can alter https://docs.vespa.ai/en/reference/schema-reference.html#max-length to for example 2M and re-feed this document to see if is retrieved.

jobergum avatar Dec 14 '23 09:12 jobergum

Here is feed json of the document, the field in question is content.

I modified the schema from the repro repository as follows:

schema diary_page {
    stemming: none
    document diary_page inherits base_definition {
        field id type long {
            indexing: summary
        }
        field content type string {
            indexing: index | summary
            index: enable-bm25
            summary: dynamic
            stemming: none
			match {
				# This is from the field-size example in the documents, replaced 15 with 20
				# https://docs.vespa.ai/en/schemas.html#field-size
				max-length: 20000000
			}
        }
    }
    fieldset default {
        fields: content
    }
    rank-profile default inherits default {
        first-phase {
            expression {
                bm25(content)
            }
        }
        rank-type content: about
    }
}

Then:

Stopped the Vespa Docker Container, Deleted the container, Deleted the image based on vespaengine/vespa that is used in that container, Built the new image with the new schema, Started the container with the new image, Deployed new ApplicationPackage, Fed the document

$ vespa query -w 60 'yql=select * from diary_page where default contains phrase("JOAO", "PAULO", "MARTINS", "DE", 
"SOUZA", "BARBOZA")'
Waiting up to 1m0s for query service to become available ...
{
    "root": {
        "id": "toplevel",
        "relevance": 1.0,
        "fields": {
            "totalCount": 0
        },
        "coverage": {
            "coverage": 100,
            "documents": 1,
            "full": true,
            "nodes": 1,
            "results": 1,
            "resultsFull": 1
        }
    }
}

the other 2 queries in the Additional Context still produce the same results as stated (normal matches and highlights when matching only JOAO PAULO MARTINS, and matches but weird highlighting when matching JOAO PAULO MARTINS SOUZA BARBOZA)

maxice8 avatar Dec 14 '23 09:12 maxice8

I suggest you create a document-summary using the tokens transform to see the actual tokens indexed for the content field. Example: https://docs.vespa.ai/en/text-matching.html#tokens-example. It should look something like this:

document-summary debug-content {
    summary content { }
    summary content_tokens {
        source: content
        tokens
    }
    from-disk
}

Then you can correlate these tokens with how the query is transformed using presentation.summary=debug-content&trace.level=2 (https://docs.vespa.ai/en/query-api.html#query-tracing)

geirst avatar Dec 14 '23 10:12 geirst

Thanks, I have modified the schema and tried again.

Unfortunately, the phrase("JOAO", "PAULO", "MARTINS", "DE", "SOUZA", "BARBOZA") produces no summary as it has no matches, so I tried the one without the DE which produces a match but returns in the summary the absolute start of the document.

Waiting up to 1m0s for query service to become available ...
{
    "trace": {
        "children": [
            {
                "message": "Using query profile 'default' of type 'root'"
            },
            {
                "message": "Invoking chain 'vespa' [com.yahoo.prelude.statistics.StatisticsSearcher@native -> com.yahoo.prelude.querytransform.PhrasingSearcher@vespa -> ... -> federation@native]"
            },
            {
                "children": [
                    {
                        "message": "Query parsed to: Query currently a placeholder, NullItem encountered."
                    },
                    {
                        "message": "YQL+ query parsed: [select * from diary_page where default contains phrase(\"JOAO\", \"PAULO\", \"MARTINS\", \"SOUZA\", \"BARBOZA\") timeout 10000]"
                    },
                    {
                        "message": "Federating to [Vespa_content]"
                    },
                    {
                        "children": [
                            {
                                "message": "Stemming: [select * from diary_page where default contains phrase(\"JOAO\", \"PAULO\", \"MARTINS\", \"SOUZA\", \"BARBOZA\") timeout 9998]"
                            },
                            {
                                "message": "Lowercasing: [select * from diary_page where default contains phrase(({normalizeCase: false}\"joao\"), ({normalizeCase: false}\"paulo\"), ({normalizeCase: false}\"martins\"), ({normalizeCase: false}\"souza\"), ({normalizeCase: false}\"barboza\")) timeout 9998]"
                            },
                            {
                                "message": "sc0.num0 search to dispatch: query=[default:\"joao paulo martins souza barboza\"] timeout=9998ms offset=0 hits=10 groupingSessionCache=true sessionId=2934645e-2653-41b3-8604-98f59d6a08d1.1702548807655.5.default grouping=0 :  restrict=[diary_page]"
                            },
                            {
                                "message": "Current state of query tree: PHRASE[explicit=true index=\"default\" uniqueID=1]{\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"joao\"\n  }\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"paulo\"\n  }\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"martins\"\n  }\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"souza\"\n  }\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"barboza\"\n  }\n}\n"
                            },
                            {
                                "message": "Dispatching to search node in cluster = dispatcher.Vespa_content key = 0 hostname = 515919ece776 path = 0 in group 0 statusIsKnown = true working = true activeDocs = 1 targetActiveDocs = 1"
                            },
                            {
                                "message": "sc0.num0 dispatch response: Result (1 of total 1 hits)"
                            },
                            {
                                "message": "sc0.num0 fill to dispatch: query=[default:\"joao paulo martins souza barboza\"] timeout=9998ms offset=0 hits=10 groupingSessionCache=true sessionId=2934645e-2653-41b3-8604-98f59d6a08d1.1702548807655.5.default grouping=0 :  restrict=[diary_page] summary='debug-content'"
                            },
                            {
                                "message": "Current state of query tree: PHRASE[explicit=true index=\"default\" uniqueID=1]{\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"joao\"\n  }\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"paulo\"\n  }\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"martins\"\n  }\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"souza\"\n  }\n  WORD[fromSegmented=false index=\"default\" origin=null segmentIndex=0 stemmed=false words=true]{\n    \"barboza\"\n  }\n}\n"
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "root": {
        "id": "toplevel",
        "relevance": 1.0,
        "fields": {
            "totalCount": 1
        },
        "coverage": {
            "coverage": 100,
            "documents": 1,
            "full": true,
            "nodes": 1,
            "results": 1,
            "resultsFull": 1
        },
        "children": [
            {
                "id": "index:Vespa_content/0/c4ca423853b8799c572f2234",
                "relevance": 0.510403676930579,
                "source": "Vespa_content",
                "fields": {
                    "sddocname": "diary_page",
                    "content": "Processo 0812067-63.2022.8.20.0000 Sigla Tribunal: TJRN Órgão: Gab. Des. Expedito Ferreira na Câmara Cível Data de disponibilização: 28/02/2023 Tipo de comunicação: Intimação Classe: AGRAVO DE INSTRUMENTO Meio: Diário Eletrônico de Justiça Nacional Inteiro Teor: https://pje2g.tjrn.jus.br:443/pje/Processo/ConsultaDocumento/listView.seam?x=23022713470018100000017942970 Envolvido: JOSE CARLOS MACHADO ROESSLER (POLO: Polo ativo) Advogado: JOSE CARLOS MACHADO ROESSLER (OAB: 9036/RN) Conteúdo: PODER<sep />",
                    "content_tokens": [
                        "processo",
                        "0812067",
                        "63",
                        "2022",
                        "8",
                        "20",
                        "0000",
                        "sigla",
                        "tribunal",
                        "tjrn",
                        "orgao",
                        "gab",
                        "des",
                        "expedito",
                        "ferreira",
                        "na",
                        "camara",
                        "civel",
                        "data",
                        "de",
                        "disponibilizacao",
                        "28",
                        "02",
                        "2023",
                        "tipo",
                        "de",
                        "comunicacao",
                        "intimacao",
                        "classe",
                        "agravo",
                        "de",
                        "instrumento",
                        "meio",
                        "diario",
                        "eletronico",
                        "de",
                        "justica",
                        "nacional",
                        "inteiro",
                        "teor",
                        "https",
                        "pje2g",
                        "tjrn",
                        "jus",
                        "br",
                        "443",
                        "pje",
                        "processo",
                        "consultadocumento",
                        "listview",
                        "seam",
                        "x",
                        "23022713470018100000017942970",
                        "envolvido",
                        "jose",
                        "carlos",
                        "machado",
                        "roessler",
                        "polo",
                        "polo",
                        "ativo",
                        "advogado",
                        "jose",
                        "carlos",
                        "machado",
                        "roessler",
                        "oab",
                        "9036",
                        "rn",
                        "conteudo",
                        "poder",
                        "judiciario",
                        "do",
                        "estado",
                        "do",
                        "rio",
                        "grande",
                        "do",
                        "norte",
                        "gab",
                        "des",
                        "expedito",
                        "ferreira",
                        "na",
                        "camara",
                        "civel",
                        "processo",
                        "0812067",
                        "63",
                        "2022",
                        "8",
                        "20",
                        "0000",
                        "agravo",
                        "de",
                        "instrumento",
                        "202",
                        "agravante",
                        "hidromineracao",
                        "natal",
                        "eireli",
                        "epp",
                        "ster",
                        "bom",
                        "ind",
                        "e",
                        "com",
                        "ltda",
                        "advogado",
                        "s",
                        "jose",
                        "carlos",
                        "machado",
                        "roessler",
                        "agravado",
                        "eleno",
                        "alberto",
                        "da",
                        "silva",
                        "advogado",
                        "s",
                        "miecio",
                        "cabral",
                        "de",
                        "vasconcelos",
                        "relator",
                        "desembargador",
                        "expedito",
                        "ferreira",
                        "de",
                        "souza",
                        "despacho",
                        "compulsando",
                        "os",
                        "autos",
                        "verifico",
                        "que",
                        "a",
                        "recorrida",
                        "sustenta",
                        "a",
                        "preliminar",
                        "de",
                        "nao",
                        "conhecimento",
                        "do",
                        "agravo",
                        "por",
                        "ofensa",
                        "ao",
                        "principio",
                        "da",
                        "dialeticidade",
                        "de",
                        "ausencia",
                        "de",
                        "norma",
                        "autorizadora",
                        "capaz",
                        "de",
                        "reconhecer",
                        "a",
                        "interposicao",
                        "do",
                        "rescurso",
                        "de",
                        "agravo",
                        "de",
                        "instrumento",
                        "em",
                        "face",
                        "de",
                        "decisao",
                        "que",
                        "nao",
                        "acolheu",
                        "preliminar",
                        "de",
                        "ilegitimidade",
                        "passiva",
                        "uma",
                        "vez",
                        "que",
                        "a",
                        "continuidade",
                        "da",
                        "parte",
                        "no",
                        "processo",
                        "nao",
                        "trara",
                        "prejuizos",
                        "ao",
                        "processo",
                        "como",
                        "na",
                        "hipotese",
                        "de",
                        "se",
                        "excluir",
                        "um",
                        "litisconsorte",
                        "e",
                        "em",
                        "momento",
                        "posterior",
                        "constatar",
                        "se",
                        "a",
                        "condicao",
                        "de",
                        "litisconsorte",
                        "necessario",
                        "onde",
                        "toda",
                        "instrucao",
                        "restaria",
                        "prejudicada",
                        "o",
                        "art",
                        "10",
                        "do",
                        "codigo",
                        "de",
                        "processo",
                        "civil",
                        "preve",
                        "que",
                        "o",
                        "juiz",
                        "nao",
                        "pode",
                        "decidir",
                        "em",
                        "grau",
                        "algum",
                        "de",
                        "jurisdicao",
                        "com",
                        "base",
                        "em",
                        "fundamento",
                        "a",
                        "respeito",
                        "do",
                        "qual",
                        "nao",
                        "se",
                        "tenha",
                        "dado",
                        "as",
                        "partes",
                        "oportunidade",
                        "de",
                        "se",
                        "manifestar",
                        "ainda",
                        "que",
                        "se",
                        "trate",
                        "de",
                        "materia",
                        "sobre",
                        "a",
                        "qual",
                        "deva",
                        "decidir",
                        "de",
                        "oficio",
                        "desta",
                        "forma",
                        "intime",
                        "se",
                        "a",
                        "parte",
                        "recorrente",
                        "para",
                        "querendo",
                        "manifestar",
                        "se",
                        "no",
                        "prazo",
                        "de",
                        "10",
                        "dez",
                        "dias",
                        "sobre",
                        "a",
                        "preliminar",
                        "arguida",
                        "pelo",
                        "recorrido",
                        "apos",
                        "o",
                        "decurso",
                        "do",
                        "prazo",
                        "com",
                        "ou",
                        "sem",
                        "manifestacao",
                        "da",
                        "parte",
                        "facam",
                        "os",
                        "autos",
                        "conclusos",
                        "publique",
                        "se",
                        "intime",
                        "se",
                        "cumpra",
                        "se",
                        "natal",
                        "rn",
                        "data",
                        "do",
                        "registro",
                        "eletronico",
                        "des",
                        "expedito",
                        "ferreira",
                        "de",
                        "souza",
                        "relator",
                        "processo",
                        "0800123",
                        "74",
                        "2021",
                        "8",
                        "20",
                        "5149",
                        "sigla",
                        "tribunal",
                        "tjrn",
                        "orgao",
                        "gab",
                        "des",
                        "expedito",
                        "ferreira",
                        "na",
                        "camara",
                        "civel",
                        "data",
                        "de",
                        "disponibilizacao",
                        "28",
                        "02",
                        "2023",
                        "tipo",
                        "de",
                        "comunicacao",
                        "intimacao",
                        "classe",
                        "apelacao",
                        "civel",
                        "meio",
                        "diario",
                        "eletronico",
                        "de",
                        "justica",
                        "nacional",
                        "inteiro",
                        "teor",
                        "https",
                        "pje2g",
                        "tjrn",
                        "jus",
                        "br",
                        "443",
                        "pje",
                        "processo",
                        "consultadocumento",
                        "listview",
                        "seam",
                        "x",
                        "23022314432040200000017908384",
                        "envolvido",
                        "eugenio",
                        "rosendo",
                        "de",
                        "souza",
                        "polo",
                        "polo",
                        "ativo",
                        "envolvido",
                        "fernanda",
                        "rafaella",
                        "oliveira",
                        "de",
                        "carvalho",
                        "polo",
                        "polo",
                        "passivo",
                        "envolvido",
                        "sesiom",
                        "figueiredo",
                        "da",
                        "silveira",
                        "polo",
                        "polo",
                        "ativo",
                        "advogados",
                        "fernanda",
                        "rafaella",
                        "oliveira",
                        "de",
                        "carvalho",
                        "oab",
                        "32766",
                        "pe",
                        "eugenio",
                        "rosendo",
                        "de",
                        "souza",
                        "oab",
                        "18354",
                        "rn",
                        "sesiom",
                        "figueiredo",
                        "da",
                        "silveira",
                        "oab",
                        "3331",
                        "rn",
                        "conteudo",
                        "poder",
                        "judiciario",
                        "tribunal",
                        "de",
                        "justica",
                        "do",
                        "estado",
                        "do",
                        "rio",
                        "grande",
                        "do",
                        "norte",
                        "primeira",
                        "camara",
                        "civel",
                        "processo",
                        "apelacao",
                        "civel",
                        "0800123",
                        "74",
                        "2021",
                        "8",
                        "20",
                        "5149",
                        "polo",
                        "ativo",
                        "maria",
                        "odete",
                        "de",
                        "souza",
                        "silva",
                        "advogado",
                        "s",
                        "sesiom",
                        "figueiredo",
                        "da",
                        "silveira",
                        "eugenio",
                        "rosendo",
                        "de",
                        "souza",
                        "polo",
                        "passivo",
                        "banco",
                        "c6",
                        "consignado",
                        "s",
                        "a",
                        "advogado",
                        "s",
                        "fernanda",
                        "rafaella",
                        "oliveira",
                        "de",
                        "carvalho",
                        "ementa",
                        "direito",
                        "do",
                        "consumidor",
                        "e",
                        "processual",
                        "civil",
                        "apelacao",
                        "civel",
                        "acao",
                        "de",
                        "obrigacao",
                        "de",
                        "fazer",
                        "com",
                        "pedido",
                        "de",
                        "tutela",
                        "de",
                        "urgencia",
                        "comprovacao",
                        "da",
                        "relacao",
                        "juridica",
                        "entre",
                        "as",
                        "partes",
                        "existencia",
                        "de",
                        "contrato",
                        "pactuado",
                        "entre",
                        "as",
                        "partes",
                        "inexistencia",
                        "de",
                        "motivos",
                        "para",
                        "decretacao",
                        "da",
                        "nulidade",
                        "do",
                        "contrato",
                        "manutencao",
                        "da",
                        "sentenca",
                        "que",
                        "se",
                        "impoe",
                        "recurso",
                        "conhecido",
                        "e",
                        "desprovido",
                        "acordao",
                        "acordam",
                        "os",
                        "desembargadores",
                        "da",
                        "segunda",
                        "turma",
                        "da",
                        "primeira",
                        "camara",
                        "civel",
                        "do",
                        "tribunal",
                        "de",
                        "justica",
                        "do",
                        "estado",
                        "do",
                        "rio",
                        "grande",
                        "do",
                        "norte",
                        "a",
                        "unanimidade",
                        "de",
                        "votos",
                        "em",
                        "conhecer",
                        "e",
                        "negar",
                        "provimento",
                        "a",
                        "apelacao",
                        "nos",
                        "termos",
                        "do",
                        "voto",
                        "do",
                        "relator",
                        "relatorio",
                        "trata",
                        "se",
                        "de",
                        "apelacao",
                        "civel",
                        "interposta",
                        "por",
                        "maria",
                        "odete",
                        "de",
                        "souza",
                        "silva",
                        "em",
                        "face",
                        "de",
                        "sentenca",
                        "proferida",
                        "pelo",
                        "juizo",
                        "da",
                        "2a",
                        "vara",
                        "civel",
                        "da",
                        "comarca",
                        "de",
                        "joao",
                        "camara",
                        "id",
                        "17751675",
                        "que",
                        "em",
                        "sede",
                        "de",
                        "acao",
                        "indenizatoria",
                        "julgou",
                        "improcedente",
                        "a",
                        "pretensao",
                        "autoral",
                        "no",
                        "mesmo",
                        "dispositivo",
                        "condenou",
                        "a",
                        "autora",
                        "ao",
                        "pagamento",
                        "das",
                        "despesas",
                        "processuais",
                        "e",
                        "honorarios",
                        "advocaticios",
                        "estes",
                        "fixados",
                        "em",
                        "10",
                        "dez",
                        "por",
                        "cento",
                        "do",
                        "valor",
                        "da",
                        "causa",
                        "restando",
                        "suspensa",
                        "a",
                        "cobranca",
                        "por",
                        "ser",
                        "a",
                        "parte",
                        "beneficiaria",
                        "da",
                        "justica",
                        "gratuita",
                        "em",
                        "suas",
                        "razoes",
                        "recursais",
                        "id",
                        "17751677",
                        "a",
                        "apelante",
                        "aduz",
                        "que",
                        "a",
                        "recorrida",
                        "celebrou",
                        "um",
                        "contrato",
                        "de",
                        "financiamento",
                        "sem",
                        "a",
                        "mesma",
                        "ter",
                        "a",
                        "ciencia",
                        "do",
                        "que",
                        "estaria",
                        "sendo",
                        "assinado",
                        "por",
                        "se",
                        "tratar",
                        "de",
                        "pessoa",
                        "simples",
                        "e",
                        "pouco",
                        "estudada",
                        "esclarece",
                        "que",
                        "o",
                        "valor",
                        "depositado",
                        "em",
                        "sua",
                        "conta",
                        "continua",
                        "intocado",
                        "ate",
                        "os",
                        "dias",
                        "atuais",
                        "e",
                        "que",
                        "se",
                        "dispoe",
                        "a",
                        "devolver",
                        "a",
                        "recorrida",
                        "por",
                        "fim",
                        "requer",
                        "seja",
                        "conhecida",
                        "e",
                        "provida",
                        "a",
                        "apelacao",
                        "nas",
                        "contrarrazoes",
                        "id",
                        "17751681",
                        "a",
                        "parte",
                        "recorrida",
                        "aduz",
                        "que",
                        "nao",
                        "ha",
                        "nenhum",
                        "ilicito",
                        "praticado",
                        "pelo",
                        "banco",
                        "uma",
                        "vez",
                        "que",
                        "nos",
                        "autos",
                        "consta",
                        "contrato",
                        "assinado",
                        "bem",
                        "como",
                        "a",
                        "entrega",
                        "do",
                        "referido",
                        "objeto",
                        "assegura",
                        "que",
                        "de",
                        "uma",
                        "simples",
                        "leitura",
                        "do",
                        "recurso",
                        "de",
                        "apelacao",
                        "e",
                        "possivel",
                        "constatar",
                        "que",
                        "a",
                        "parte",
                        "apelante",
                        "apresenta",
                        "meras",
                        "alegacoes",
                        "que",
                        "nao",
                        "sao",
                        "acompanhadas",
                        "por",
                        "provas",
                        "que",
                        "as",
                        "sustentem",
                        "ocorre",
                        "que",
                        "nada",
                        "obstante",
                        "a",
                        "relacao",
                        "juridica",
                        "dos",
                        "litigantes",
                        "ser",
                        "de",
                        "consumo",
                        "e",
                        "ainda",
                        "que",
                        "a",
                        "parte",
                        "apelante",
                        "esteja",
                        "na",
                        "posicao",
                        "de",
                        "consumidora",
                        "tal",
                        "fato",
                        "nao",
                        "afasta",
                        "a",
                        "necessidade",
                        "de",
                        "se",
                        "provar",
                        "o",
                        "fato",
                        "constitutivo",
                        "do",
                        "direito",
                        "alegado",
                        "consoante",
                        "disposto",
                        "no",
                        "artigo",
                        "373",
                        "inciso",
                        "i",
                        "do",
                        "codigo",
                        "de",
                        "processo",
                        "civil",
                        "afirma",
                        "que",
                        "por",
                        "outro",
                        "lado",
                        "a",
                        "empresa",
                        "ora",
                        "apelada",
                        "juntou",
                        "anteriormente",
                        "em",
                        "sua",
                        "contestacao",
                        "o",
                        "instrumento",
                        "contratual",
                        "atestando",
                        "que",
                        "no",
                        "dia",
                        "30",
                        "11",
                        "2020",
                        "a",
                        "parte",
                        "apelante",
                        "contratou",
                        "junto",
                        "ao",
                        "recorrido",
                        "emprestimo",
                        "consignado",
                        "pelo",
                        "qual",
                        "adquiriu",
                        "credito",
                        "no",
                        "valor",
                        "total",
                        "de",
                        "r",
                        "3",
                        "973",
                        "60",
                        "tres",
                        "mil",
                        "novecentos",
                        "e",
                        "setenta",
                        "e",
                        "tres",
                        "reais",
                        "e",
                        "sessenta",
                        "centavos",
                        "referente",
                        "ao",
                        "emprestimo",
                        "reclamado",
                        "e",
                        "nao",
                        "reconhecido",
                        "pela",
                        "parte",
                        "apelante",
                        "sendo",
                        "flagrante",
                        "a",
                        "semelhanca",
                        "entre",
                        "a",
                        "assinatura",
                        "deste",
                        "instrumento",
                        "e",
                        "do",
                        "rg",
                        "assegura",
                        "que",
                        "nao",
                        "ocorreu",
                        "falha",
                        "no",
                        "servico",
                        "e",
                        "que",
                        "a",
                        "contratacao",
                        "foi",
                        "legal",
                        "nao",
                        "existindo",
                        "danos",
                        "a",
                        "serem",
                        "reparados",
                        "bem",
                        "como",
                        "nao",
                        "deve",
                        "ser",
                        "aplicado",
                        "o",
                        "art",
                        "42",
                        "do",
                        "codigo",
                        "de",
                        "processo",
                        "civil",
                        "nao",
                        "havendo",
                        "que",
                        "se",
                        "falar",
                        "em",
                        "restituicao",
                        "em",
                        "dobro",
                        "por",
                        "fim",
                        "requer",
                        "o",
                        "desprovimento",
                        "do",
                        "apelo",
                        "instado",
                        "a",
                        "se",
                        "manifestar",
                        "o",
                        "ministerio",
                        "publico",
                        "deixou",
                        "de",
                        "manifestar",
                        "por",
                        "ausencia",
                        "de",
                        "interesse",
                        "publico",
                        "id",
                        "17794416",
                        "e",
                        "o",
                        "relatorio",
                        "voto",
                        "preenchidos",
                        "os",
                        "requisitos",
                        "de",
                        "admissibilidade",
                        "voto",
                        "pelo",
                        "conhecimento",
                        "da",
                        "apelacao",
                        "civel",
                        "cinge",
                        "se",
                        "o",
                        "merito",
                        "recursal",
                        "em",
                        "perquirir",
                        "acerca",
                        "da",
                        "existencia",
                        "de",
                        "fraude",
                        "na",
                        "contratacao",
                        "de",
                        "emprestimo",
                        "junto",
                        "ao",
                        "banco",
                        "requerido",
                        "bem",
                        "como",
                        "a",
                        "possibilidade",
                        "da",
                        "parte",
                        "autora",
                        "ser",
                        "indenizada",
                        "a",
                        "titulo",
                        "de",
                        "dano",
                        "moral",
                        "e",
                        "material",
                        "desde",
                        "logo",
                        "cumpre",
                        "fixar",
                        "que",
                        "o",
                        "caso",
                        "vertente",
                        "deve",
                        "ser",
                        "apreciado",
                        "sob",
                        "o",
                        "manto",
                        "da",
                        "teoria",
                        "da",
                        "responsabilidade",
                        "objetiva",
                        "aplicando",
                        "se",
                        "os",
                        "preceitos",
                        "insculpidos",
                        "pelo",
                        "codigo",
                        "de",
                        "defesa",
                        "do",
                        "consumidor",
                        "sobretudo",
                        "o",
                        "disposto",
                        "em",
                        "seu",
                        "art",
                        "14",
                        "caput",
                        "que",
                        "prescreve",
                        "art",
                        "14",
                        "o",
                        "fornecedor",
                        "de",
                        "servicos",
                        "responde",
                        "independentemente",
                        "da",
                        "existencia",
                        "de",
                        "culpa",
                        "pela",
                        "reparacao",
                        "dos",
                        "danos",
                        "causados",
                        "aos",
                        "consumidores",
                        "por",
                        "defeitos",
                        "relativos",
                        "a",
                        "prestacao",
                        "dos",
                        "servicos",
                        "bem",
                        "como",
                        "por",
                        "informacoes",
                        "insuficientes",
                        "ou",
                        "inadequadas",
                        "sobre",
                        "sua",
                        "fruicao",
                        "e",
                        "riscos",
                        "temos",
                        "ainda",
                        "as",
                        "causas",
                        "que",
                        "comprovadas",
                        "isentam",
                        "os",
                        "fornecedores",
                        "de",
                        "servicos",
                        "do",
                        "dever",
                        "de",
                        "indenizatorio",
                        "previsto",
                        "no",
                        "3o",
                        "do",
                        "citado",
                        "dispositivo",
                        "3o",
                        "o",
                        "fornecedor",
                        "de",
                        "servicos",
                        "so",
                        "nao",
                        "sera",
                        "responsabilizado",
                        "quando",
                        "provar",
                        "i",
                        "que",
                        "tendo",
                        "prestado",
                        "o",
                        "servico",
                        "o",
                        "defeito",
                        "inexiste",
                        "ii",
                        "a",
                        "culpa",
                        "exclusiva",
                        "do",
                        "consumidor",
                        "ou",
                        "de",
                        "terceiro",
                        "dos",
                        "autos",
                        "verifica",
                        "se",
                        "que",
                        "a",
                        "pretensao",
                        "recursal",
                        "nao",
                        "merece",
                        "acolhimento",
                        "com",
                        "efeito",
                        "conforme",
                        "se",
                        "depreende",
                        "pelo",
                        "estudo",
                        "do",
                        "caderno",
                        "processual",
                        "diferentemente",
                        "do",
                        "alegado",
                        "na",
                        "inicial",
                        "ha",
                        "contrato",
                        "entre",
                        "as",
                        "partes",
                        "estando",
                        "o",
                        "documento",
                        "devidamente",
                        "assinado",
                        "pela",
                        "autora",
                        "id",
                        "17751639",
                        "nesse",
                        "sentido",
                        "o",
                        "julgador",
                        "a",
                        "quo",
                        "decidiu",
                        "vejamos",
                        "assim",
                        "nao",
                        "havendo",
                        "como",
                        "impor",
                        "ao",
                        "demandante",
                        "a",
                        "apresentacao",
                        "de",
                        "maiores",
                        "elementos",
                        "probatorios",
                        "afetos",
                        "a",
                        "situacao",
                        "esposada",
                        "caberia",
                        "ao",
                        "demandando",
                        "comprovar",
                        "a",
                        "existencia",
                        "de",
                        "contrato",
                        "nesse",
                        "ponto",
                        "insta",
                        "salientar",
                        "que",
                        "o",
                        "demandado",
                        "colacionou",
                        "aos",
                        "autos",
                        "copia",
                        "do",
                        "contrato",
                        "que",
                        "daria",
                        "origem",
                        "a",
                        "cobranca",
                        "72638418",
                        "com",
                        "assinatura",
                        "que",
                        "e",
                        "atribuida",
                        "ao",
                        "autor",
                        "bem",
                        "como",
                        "comprovante",
                        "de",
                        "ted",
                        "liberatorio",
                        "do",
                        "valor",
                        "em",
                        "uma",
                        "analise",
                        "sem",
                        "o",
                        "rigor",
                        "da",
                        "pericia",
                        "tecnica",
                        "destaco",
                        "que",
                        "assinatura",
                        "posta",
                        "no",
                        "instrumento",
                        "contratual",
                        "se",
                        "assemelha",
                        "a",
                        "lancada",
                        "na",
                        "procuracao",
                        "e",
                        "documentos",
                        "pessoais",
                        "do",
                        "autor",
                        "possuindo",
                        "aparente",
                        "autenticidade",
                        "oportunizada",
                        "a",
                        "apresentacao",
                        "de",
                        "replica",
                        "e",
                        "impugnacao",
                        "aos",
                        "documentos",
                        "apresentados",
                        "a",
                        "autora",
                        "limitou",
                        "se",
                        "a",
                        "confirmar",
                        "o",
                        "credito",
                        "do",
                        "valor",
                        "do",
                        "emprestimo",
                        "em",
                        "sua",
                        "poupanca",
                        "nao",
                        "se",
                        "insurgindo",
                        "contra",
                        "a",
                        "autenticidade",
                        "e",
                        "veracidade",
                        "dos",
                        "documentos",
                        "juntados",
                        "na",
                        "contestacao",
                        "notadamente",
                        "o",
                        "contrato",
                        "assinado",
                        "consoante",
                        "inteligencia",
                        "do",
                        "art",
                        "411",
                        "iii",
                        "cpc",
                        "considera",
                        "se",
                        "autentico",
                        "o",
                        "documento",
                        "que",
                        "nao",
                        "foi",
                        "impugnado",
                        "pela",
                        "parte",
                        "contra",
                        "quem",
                        "foi",
                        "produzido",
                        "ou",
                        "seja",
                        "sendo",
                        "apresentado",
                        "o",
                        "contrato",
                        "pelo",
                        "demandado",
                        "caberia",
                        "ao",
                        "autor",
                        "se",
                        "insurgir",
                        "contra",
                        "a",
                        "sua",
                        "regularidade",
                        "e",
                        "autenticidade",
                        "da",
                        "assinatura",
                        "posta",
                        "nao",
                        "tendo",
                        "assim",
                        "agido",
                        "e",
                        "se",
                        "presumir",
                        "reconhecer",
                        "a",
                        "autenticidade",
                        "da",
                        "assinatura",
                        "ademais",
                        "a",
                        "propria",
                        "autora",
                        "reconhece",
                        "que",
                        "o",
                        "valor",
                        "do",
                        "emprestimo",
                        "lhe",
                        "foi",
                        "devidamente",
                        "disponibilizado",
                        "dessa",
                        "forma",
                        "e",
                        "de",
                        "se",
                        "reconhecer",
                        "a",
                        "regularidade",
                        "da",
                        "contratacao",
                        "a",
                        "e",
                        "improcedencia",
                        "dos",
                        "pedidos",
                        "autorais",
                        "portanto",
                        "observa",
                        "se",
                        "que",
                        "a",
                        "parte",
                        "apelada",
                        "demonstrou",
                        "o",
                        "vinculo",
                        "juridico",
                        "havido",
                        "com",
                        "o",
                        "autor",
                        "nao",
                        "havendo",
                        "prova",
                        "que",
                        "possa",
                        "evidenciar",
                        "a",
                        "natureza",
                        "ilegitima",
                        "da",
                        "cobranca",
                        "nesse",
                        "sentido",
                        "e",
                        "a",
                        "jurisprudencia",
                        "desta",
                        "corte",
                        "de",
                        "justica",
                        "ementa",
                        "direito",
                        "processual",
                        "civil",
                        "acao",
                        "ordinaria",
                        "alegada",
                        "inexistencia",
                        "de",
                        "debito",
                        "contrato",
                        "de",
                        "cartao",
                        "de",
                        "credito",
                        "com",
                        "debito",
                        "consignado",
                        "relacao",
                        "contratual",
                        "comprovada",
                        "inadimplencia",
                        "demonstrada",
                        "compras",
                        "realizadas",
                        "dever",
                        "de",
                        "restituir",
                        "afastado",
                        "inexistencia",
                        "de",
                        "danos",
                        "morais",
                        "sentenca",
                        "reformada",
                        "precedentes",
                        "recurso",
                        "conhecido",
                        "e",
                        "provido",
                        "apelacao",
                        "civel",
                        "no",
                        "2018",
                        "003137",
                        "8",
                        "3a",
                        "camara",
                        "civel",
                        "relator",
                        "des",
                        "vivaldo",
                        "pinheiro",
                        "julgado",
                        "em",
                        "03",
                        "09",
                        "2019",
                        "destaques",
                        "acrescidos",
                        "civil",
                        "processual",
                        "civil",
                        "e",
                        "consumidor",
                        "apelacao",
                        "civel",
                        "acao",
                        "declaratoria",
                        "de",
                        "inexistencia",
                        "de",
                        "debito",
                        "c",
                        "c",
                        "indenizacao",
                        "por",
                        "danos",
                        "morais",
                        "e",
                        "materiais",
                        "relacao",
                        "de",
                        "consumo",
                        "alegacao",
                        "de",
                        "cobranca",
                        "indevida",
                        "decorrente",
                        "de",
                        "servico",
                        "nao",
                        "contratado",
                        "juntada",
                        "de",
                        "documentos",
                        "em",
                        "que",
                        "consta",
                        "a",
                        "assinatura",
                        "da",
                        "contratante",
                        "e",
                        "faturas",
                        "relacionadas",
                        "ao",
                        "servico",
                        "prestado",
                        "consumidor",
                        "que",
                        "foi",
                        "beneficiario",
                        "de",
                        "montante",
                        "proveniente",
                        "de",
                        "emprestimo",
                        "realizado",
                        "com",
                        "cartao",
                        "de",
                        "credito",
                        "legitimidade",
                        "dos",
                        "descontos",
                        "na",
                        "remuneracao",
                        "da",
                        "parte",
                        "autora",
                        "inexistencia",
                        "da",
                        "configuracao",
                        "dos",
                        "requisitos",
                        "necessarios",
                        "ao",
                        "dever",
                        "de",
                        "indenizar",
                        "arts",
                        "186",
                        "e",
                        "927",
                        "do",
                        "codigo",
                        "civil",
                        "recurso",
                        "conhecido",
                        "e",
                        "desprovido",
                        "apelacao",
                        "civel",
                        "n",
                        "\u00B0",
                        "2017",
                        "014024",
                        "1",
                        "3a",
                        "camara",
                        "civel",
                        "relator",
                        "desembargador",
                        "vivaldo",
                        "pinheiro",
                        "julgado",
                        "a",
                        "unanimidade",
                        "em",
                        "28",
                        "05",
                        "19",
                        "destaques",
                        "acrescidos",
                        "civil",
                        "e",
                        "processual",
                        "civil",
                        "reparacao",
                        "por",
                        "danos",
                        "materiais",
                        "e",
                        "morais",
                        "emprestimo",
                        "realizado",
                        "com",
                        "cartao",
                        "de",
                        "credito",
                        "consignado",
                        "contrato",
                        "devidamente",
                        "assinado",
                        "pacto",
                        "que",
                        "preve",
                        "a",
                        "possibilidade",
                        "de",
                        "ser",
                        "descontado",
                        "o",
                        "valor",
                        "minimo",
                        "devido",
                        "diretamente",
                        "da",
                        "folha",
                        "de",
                        "pagamento",
                        "consumidor",
                        "que",
                        "foi",
                        "beneficiario",
                        "de",
                        "montante",
                        "proveniente",
                        "do",
                        "referido",
                        "emprestimo",
                        "legitimidade",
                        "dos",
                        "descontos",
                        "na",
                        "remuneracao",
                        "da",
                        "parte",
                        "autora",
                        "inexistencia",
                        "da",
                        "configuracao",
                        "dos",
                        "requisitos",
                        "necessarios",
                        "ao",
                        "dever",
                        "de",
                        "indenizar",
                        "arts",
                        "186",
                        "e",
                        "927",
                        "do",
                        "codigo",
                        "civil",
                        "majoracao",
                        "dos",
                        "honorarios",
                        "advocaticos",
                        "de",
                        "sucumbencia",
                        "nos",
                        "termos",
                        "do",
                        "art",
                        "85",
                        "11",
                        "do",
                        "cpc",
                        "2015",
                        "e",
                        "enunciado",
                        "administrativo",
                        "no",
                        "7",
                        "do",
                        "stj",
                        "conhecimento",
                        "e",
                        "desprovimento",
                        "do",
                        "recurso",
                        "precedentes",
                        "a",
                        "obrigacao",
                        "de",
                        "indenizar",
                        "assenta",
                        "se",
                        "na",
                        "demonstracao",
                        "do",
                        "fato",
                        "ilicito",
                        "da",
                        "existencia",
                        "do",
                        "dano",
                        "efetivo",
                        "do",
                        "nexo",
                        "de",
                        "causalidade",
                        "entre",
                        "ambos",
                        "e",
                        "ainda",
                        "quando",
                        "subjetiva",
                        "da",
                        "culpa",
                        "ou",
                        "dolo",
                        "pressupostos",
                        "que",
                        "se",
                        "nao",
                        "demonstrados",
                        "afastam",
                        "a",
                        "responsabilidade",
                        "civil",
                        "nao",
                        "caracterizada",
                        "a",
                        "ilicitude",
                        "da",
                        "conduta",
                        "resta",
                        "afastado",
                        "o",
                        "dever",
                        "indenizar",
                        "apelacao",
                        "civel",
                        "no",
                        "2018",
                        "008934",
                        "8",
                        "tj",
                        "rn",
                        "3a",
                        "camara",
                        "civel",
                        "relator",
                        "des",
                        "joao",
                        "reboucas",
                        "julgado",
                        "em",
                        "18",
                        "12",
                        "2018",
                        "destaques",
                        "acrescidos",
                        "por",
                        "fim",
                        "com",
                        "fundamento",
                        "no",
                        "art",
                        "85",
                        "11",
                        "do",
                        "codigo",
                        "ritos",
                        "majoro",
                        "a",
                        "verba",
                        "honoraria",
                        "10",
                        "dez",
                        "por",
                        "cento",
                        "para",
                        "12",
                        "doze",
                        "por",
                        "cento",
                        "do",
                        "valor",
                        "da",
                        "causa",
                        "pelo",
                        "exposto",
                        "conheco",
                        "e",
                        "nego",
                        "provimento",
                        "ao",
                        "apelo",
                        "e",
                        "como",
                        "voto",
                        "natal",
                        "data",
                        "do",
                        "registro",
                        "eletronico",
                        "natal",
                        "rn",
                        "14",
                        "fevereiro",
                        "2023",
                        "processo",
                        "0100698",
                        "07",
                        "2018",
                        "8",
                        "20",
                        "0113",
                        "sigla",
                        "tribunal",
                        "tjrn",
                        "orgao",
                        "2a",
                        "vara",
                        "da",
                        "comarca",
                        "areia",
                        "branca",
                        "data",
                        "disponibilizacao",
                        "28",
                        "02",
                        "2023",
                        "tipo",
                        "comunicacao",
                        "intimacao",
                        "classe",
                        "procedimento",
                        "comum",
                        "civel",
                        "meio",
                        "diario",
                        "eletronico",
                        "justica",
                        "nacional",
                        "inteiro",
                        "teor",
                        "https",
                        "pje1g",
                        "tjrn",
                        "jus",
                        "br",
                        "443",
                        "pje",
                        "processo",
                        "consultadocumento",
                        "listview",
                        "seam",
                        "x",
                        "23022714211886100000090539962",
                        "envolvido",
                        "antonia",
                        "ihascara",
                        "cardoso",
                        "alves",
                        "polo",
                        "polo",
                        "ativo",
                        "envolvido",
                        "leonardo",
                        "mike",
                        "silva",
                        "pereira",
                        "polo",
                        "polo",
                        "ativo",
                        "envolvido",
                        "marcelo",
                        "vitor",
                        "jales",
                        "rodrigues",
                        "polo",
                        "polo",
                        "ativo",
                        "advogados",
                        "antonia",
                        "ihascara",
                        "cardoso",
                        "alves",
                        "oab",
                        "14403",
                        "rn",
                        "marcelo",
                        "vitor",
                        "jales",
                        "rodrigues",
                        "oab",
                        "9732",
                        "rn",
                        "leonardo",
                        "mike",
                        "silva",
                        "pereira",
                        "oab",
                        "0010615a",
                        "rn",
                        "conteudo",
                        "poder",
                        "judiciario",
                        "do",
                        "estado",
                        "do",
                        "rio",
                        "grande",
                        "do",
                        "norte",
                        "secretaria",
                        "unificada",
                        "da",
                        "comarca",
                        "areia",
                        "branca",
                        "br",
                        "110",
                        "km",
                        "01",
                        "areia",
                        "branca",
                        "rn",
                        "cep",
                        "59655",
                        "000",
                        "e",
                        "mail",
                        "abcsecuni",
                        "tjrn",
                        "jus",
                        "br",
                        "telefone",
                        "84",
                        "3673",
                        "9970",
                        "processo",
                        "no",
                        "0100698",
                        "07",
                        "2018",
                        "8",
                        "20",
                        "0113",
                        "ato",
                        "ordinatorio",
                        "com",
                        "fulcro",
                        "no",
                        "art",
                        "152",
                        "vi",
                        "do",
                        "cpc",
                        "intime",
                        "se",
                        "a",
                        "parte",
                        "apelada",
                        "por",
                        "intermedio",
                        "seu",
                        "advogado",
                        "para",
                        "apresentar",
                        "contrarrazoes",
                        "no",
                        "prazo",
                        "15",
                        "quinze",
                        "dias",
                        "art",
                        "1",
                        "010",
                        "1o",
                        "do",
                        "cpc",
                        "areia",
                        "branca",
                        "rn",
                        "27",
                        "fevereiro",
                        "2023",
                        "documento",
                        "assinado",
                        "eletronicamente",
                        "na",
                        "forma",
                        "da",
                        "lei",
                        "11",
                        "419",
                        "2006",
                        "wesley",
                        "costa",
                        "souza",
                        "dantas",
                        "chefe",
                        "secretaria",
                        "processo",
                        "0801449",
                        "83",
                        "2022",
                        "8",
                        "20",
                        "5133",
                        "sigla",
                        "tribunal",
                        "tjrn",
                        "orgao",
                        "vara",
                        "unica",
                        "da",
                        "comarca",
                        "tangara",
                        "data",
                        "disponibilizacao",
                        "28",
                        "02",
                        "2023",
                        "tipo",
                        "comunicacao",
                        "intimacao",
                        "classe",
                        "pedido",
                        "busca",
                        "e",
                        "apreensao",
                        "criminal",
                        "meio",
                        "diario",
                        "eletronico",
                        "justica",
                        "nacional",
                        "inteiro",
                        "teor",
                        "https",
                        "pje1g",
                        "tjrn",
                        "jus",
                        "br",
                        "443",
                        "pje",
                        "processo",
                        "consultadocumento",
                        "listview",
                        "seam",
                        "x",
                        "23022714224705600000090540621",
                        "envolvido",
                        "joao",
                        "paulo",
                        "martins",
                        "souza",
                        "barboza",
                        "polo",
                        "polo",
                        "passivo",
                        "advogado",
                        "joao",
                        "paulo",
                        "martins",
                        "souza",
                        "barboza",
                        "oab",
                        "0001304s",
                        "rn",
                        "conteudo",
                        "poder",
                        "judiciario",
                        "do",
                        "estado",
                        "do",
                        "rio",
                        "grande",
                        "do",
                        "norte",
                        "vara",
                        "unica",
                        "da",
                        "comarca",
                        "tangara",
                        "rua",
                        "assis",
                        "lopes",
                        "20",
                        "centro",
                        "tangara",
                        "rn",
                        "cep",
                        "59275",
                        "000",
                        "carta",
                        "intimacao",
                        "ao",
                        "a",
                        "ilmo",
                        "a",
                        "sr",
                        "a",
                        "joao",
                        "paulo",
                        "martins",
                        "souza",
                        "barboza",
                        "ordem",
                        "do",
                        "exmo",
                        "a",
                        "sr",
                        "a",
                        "dr",
                        "a",
                        "daniel",
                        "augusto",
                        "freire",
                        "lucena",
                        "e",
                        "couto",
                        "mauricio",
                        "mm",
                        "juiz",
                        "a",
                        "direito",
                        "desta",
                        "vara",
                        "na",
                        "forma",
                        "da",
                        "lei",
                        "etc",
                        "manda",
                        "pela",
                        "presente",
                        "extraida",
                        "dos",
                        "autos",
                        "do",
                        "processo",
                        "abaixo",
                        "especificado",
                        "intimar",
                        "vossa",
                        "senhoria",
                        "para",
                        "para",
                        "tomar",
                        "ciencia",
                        "do",
                        "id",
                        "95027891",
                        "processo",
                        "0801449",
                        "83",
                        "2022",
                        "8",
                        "20",
                        "5133",
                        "acao",
                        "pedido",
                        "busca",
                        "e",
                        "apreensao",
                        "criminal",
                        "309",
                        "requerente",
                        "delegacia",
                        "tangara",
                        "rn",
                        "mprn",
                        "promotoria",
                        "tangara",
                        "acusado",
                        "a",
                        "esclarecer",
                        "tangara",
                        "rn",
                        "27",
                        "fevereiro",
                        "2023",
                        "joao",
                        "sergio",
                        "ferreira",
                        "lima",
                        "chefe",
                        "secretaria",
                        "documento",
                        "assinado",
                        "digitalmente",
                        "na",
                        "forma",
                        "da",
                        "lei",
                        "n",
                        "\u00B0",
                        "11",
                        "419",
                        "06",
                        "vara",
                        "unica",
                        "da",
                        "comarca",
                        "tangara",
                        "processo",
                        "0801449",
                        "83",
                        "2022",
                        "8",
                        "20",
                        "5133",
                        "intimacao",
                        "despacho",
                        "vara",
                        "unica",
                        "da",
                        "comarca",
                        "tangara",
                        "processo",
                        "0801449",
                        "83",
                        "2022",
                        "8",
                        "20",
                        "5133",
                        "intimacao",
                        "despacho",
                        "destinatario",
                        "joao",
                        "paulo",
                        "martins",
                        "souza",
                        "barboza",
                        "destinatario",
                        "joao",
                        "paulo",
                        "martins",
                        "souza",
                        "barboza"
                    ]
                }
            }
        ]
    }
}

Looking at the given tokens for joao, paulo, martins ... shows that the de that is in the content field is absent in the tokens:

                        "sr",
                        "a",
                        "joao",
                        "paulo",
                        "martins",
                        "souza",
                        "barboza",
                        "ordem",
                        "do",
                        "exmo",

which corresponds to this section of the content.

Sr.(a). JOAO PAULO MARTINS DE SOUZA BARBOZA De ordem do Exmo(a).

maxice8 avatar Dec 14 '23 10:12 maxice8

It looks like "De" is removed during linguistics processing. Try to set the language of the document that is processed (https://docs.vespa.ai/en/linguistics.html#indexing-with-language) to see if that helps. The default Vespa linguistics implementation uses OpenNLP. More details in the linked document.

geirst avatar Dec 14 '23 10:12 geirst

Hello,

We currently have the language set to Brazillian Portuguese in the language across the schema.

schema base_definition {
    document base_definition {
        field language type string {
            indexing: "pt-BR" | set_language
        }
        field filtrado type bool {
            indexing: summary | attribute
            attribute {
                fast-search
            }
            rank: filter
        }
        field updated_at type string {
            indexing: summary
        }
        field timestamp type long {
            indexing: summary
        }
        field origin_database type string {
            indexing: summary | attribute
            attribute {
                fast-search
            }
            rank: filter
        }
    }
}

I have modified it to attempt auto-detection and the same problem of the missing de token remains, I then attempted to just not set language at all with the same results.

I have also specifically set language of the field content to auto-detect and with "pt-BR" | and then with "en" | just to be sure but de is still not present in either:

document diary_page inherits base_definition {
    field id type long {
        indexing: summary
    }
    field language_content type string {
      indexing: set_language
    }
    field content type string {
        indexing: index | summary
        index: enable-bm25
        summary: dynamic
        stemming: none
    }
}

maxice8 avatar Dec 14 '23 11:12 maxice8

Ok, then it sounds like a problem in OpenNLP. What happens if you create a document where content only contains "Sr.(a). JOAO PAULO MARTINS DE SOUZA BARBOZA De ordem do Exmo(a)."? Which tokens are indexed then?

geirst avatar Dec 14 '23 11:12 geirst

I modified the content of data.json to only include the content and it indexed the de correctly.

{
    "id": "toplevel",
    "relevance": 1.0,
    "fields": {
        "totalCount": 1
    },
    "coverage": {
        "coverage": 100,
        "documents": 1,
        "full": true,
        "nodes": 1,
        "results": 1,
        "resultsFull": 1
    },
    "children": [
        {
            "id": "index:Vespa_content/0/c4ca423853b8799c572f2234",
            "relevance": 0.28768207245178085,
            "source": "Vespa_content",
            "fields": {
                "sddocname": "diary_page",
                "content": "Sr.(a). <hi>JOAO</hi> <hi>PAULO</hi> <hi>MARTINS</hi> <hi>DE</hi> <hi>SOUZA</hi> <hi>BARBOZA</hi> De ordem do Exmo(a).",
                "content_tokens": [
                    "sr",
                    "a",
                    "joao",
                    "paulo",
                    "martins",
                    "de",
                    "souza",
                    "barboza",
                    "de",
                    "ordem",
                    "do",
                    "exmo",
                    "a"
                ]
            }
        }
    ]
}

maxice8 avatar Dec 14 '23 12:12 maxice8

Found another instance of this bug in the following document (see put for id:diary_page:diary_page::2) of the following Vespa Feed file https://github.com/maxice8/vespa-bug-repro/blob/main/data.json.

The query using phrase("MATEUS", "DO", "VALE", "MENDES") matches and the highlight returns the absolute start of the file, the tokens show that the term "KELLY" is not tokenized in the expected location between vale and mendes (other instances of kelly are tokenized elsewhere, with its last token appearing in 433).

474 | "dos"
475 | "reis"
476 | "de"
477 | "melo"
478 | "matheus"
479 | "do"
480 | "vale"
481 | "mendes"
482 | "chaud"
483 | "mendes"

Which refers to this part of the file:

DOS REIS DE MELO KELLY MATHEUS DO VALE KELLY MENDES CHAUD KELLY MENDES

Here are all the tokens between the last kelly token, and the start of the bugged name.

433 | "kelly"
434 | "luiza"
435 | "masteguin"
436 | "andrade"
437 | "machado"
438 | "silva"
439 | "e"
440 | "silva"
441 | "madeira"
442 | "caldas"
443 | "magalhaes"
444 | "de"
445 | "sousa"
446 | "maisa"
447 | "do"
448 | "nascimento"
449 | "mara"
450 | "foltran"
451 | "ribeiro"
452 | "marciana"
453 | "o"
454 | "c"
455 | "teixeira"
456 | "maria"
457 | "coltro"
458 | "maria"
459 | "pereira"
460 | "medeiros"
461 | "souza"
462 | "mariana"
463 | "matos"
464 | "de"
465 | "mendonca"
466 | "marly"
467 | "da"
468 | "conceicao"
469 | "tavares"
470 | "marques"
471 | "de"
472 | "camargo"
473 | "marques"
474 | "dos"
475 | "reis"
476 | "de"
477 | "melo"
478 | "matheus"

maxice8 avatar Dec 21 '23 14:12 maxice8

Looking at a hex dump around the substring "Sr.(a). JOAO PAULO MARTINS DE SOUZA BARBOZA De ordem do Exmo(a)." when handing the annotated string field in the backend to make a memory index:

00003880  28 61 29 2e 20 53 72 2e  28 61 29 2e 20 4a 4f 41  |(a). Sr.(a). JOA|
00003890  4f 20 50 41 55 4c 4f 20  4d 41 52 54 49 4e 53 20  |O PAULO MARTINS |
000038a0  44 45 20 53 4f 55 5a 41  20 42 41 52 42 4f 5a 41  |DE SOUZA BARBOZA|
000038b0  20 44 65 20 6f 72 64 65  6d 20 64 6f 20 45 78 6d  | De ordem do Exm|
000038c0  6f 28 61 29 2e 20 53 72  28 61 29 2e 20 44 72 28  |o(a). Sr(a). Dr(|

The annotated string field has a simple span list:

          Span(14469, 2)
          Span(14473, 1)
          Span(14477, 4)
          Span(14482, 5)
          Span(14488, 7)
          Span(14499, 5)
          Span(14505, 7)
          Span(14516, 5)

and annotations:

          Annotation(AnnotationType(1, term)
        sr
        Span(14469, 2))
          Annotation(AnnotationType(1, term)
        Span(14473, 1))
          Annotation(AnnotationType(1, term)
        joao
        Span(14477, 4))
          Annotation(AnnotationType(1, term)
        paulo
        Span(14482, 5))
          Annotation(AnnotationType(1, term)
        martins
        Span(14488, 7))
          Annotation(AnnotationType(1, term)
        souza
        Span(14499, 5))
          Annotation(AnnotationType(1, term)
        barboza
        Span(14505, 7))
          Annotation(AnnotationType(1, term)
        Span(14516, 5))

The word "DE" at byte offset 14496 and length 2 should have an annotation containing the string "de", but the annotation is not present, indicating that the word was likely dropped by the document processor that created the annotations.

toregge avatar Jan 03 '24 14:01 toregge

The first document had 100 indexed occurrences of "de", while the second document had 100 indexed occurrences of "kelly" and 100 indexed occurrences of "2018".

This cutoff is based on maxtermoccurrences in the ilscripts config definition:

https://github.com/vespa-engine/vespa/blob/277980c99329301f4d6247a852a90305536367a6/configdefinitions/src/vespa/ilscripts.def#L4-L6

toregge avatar Jan 03 '24 14:01 toregge

With 8.283.46 and the new match { max-occurrences: } setting bumped it now stores all the tokens that were skipped before.

maxice8 avatar Jan 10 '24 09:01 maxice8

@maxice8 that sounds good. We will also change the default of maxtermoccurrences before we merge the updated reference documentation (https://github.com/vespa-engine/documentation/pull/3049).

geirst avatar Jan 10 '24 13:01 geirst

The default for max-occurrences is changed to 10000 in Vespa 8.308.26. Documentation: https://docs.vespa.ai/en/reference/schema-reference.html#max-occurrences.

geirst avatar Feb 23 '24 16:02 geirst