Vlákno názorů k článku Indexování a fulltextové vyhledávání v dokumentech s Elasticsearch od judovana - Zdar! Chyby mi tam to nejdulezitejis - cesta k...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 9. 2016 9:49

    Pavel Tišnovský
    Zlatý podporovatel

    Pokud je to skutečně zapotřebí (na serveru asi ne, ale když se to pouští "u sebe", tak ano), můžete si upravit skript na přidávání souborů například takto:

    #!/bin/sh
    
    coded=`cat $1 | perl -MMIME::Base64 -ne 'print encode_base64($_)'`
    path=`readlink -e $1`
    json="{\"product\":\"$2\",\"version\":\"$3\",\"url\":\"$4\",\"file\":\"${coded}\",\"path\":\"${path}\"}"
    echo "$json" > file.json
    curl -X POST "localhost:9200/docs3/document/" -d @file.json

    Je tam navíc naplňována proměnná ${path} (používám readlink, protože je asi nainstalován všude, kdyžtak mě prosím opravte)

    JSON s dotazem se nepatrně rozšíří:

    {
      "fields" : ["product", "version", "url", "file.content_type", "file.title", "file.date", "file.content_length", "path"],
      "query" : {
        "match" : {
          "file.content" : "requires"
        }
      },
      "highlight" : {
        "fields" : {
          "file.content" : {}
        }
      }
    }

    A ve výsledku to může vypadat takto (jen část výsledku):

    "fields" : {
      "file.content_length" : [ "58590" ],
      "product" : [ "RHDTS" ],
      "file.content_type" : [ "application/xhtml+xml; charset=UTF-8" ],
      "file.title" : [ "3.1 Release Notes" ],
      "path" : [ "/home/tester/elasticsearch-2.4.0/es/RHDTS_ReleaseNotes.html" ],
      "url" : [ "http:/www.root.cz" ],
      "version" : [ "2.1" ]
    },
  • 29. 9. 2016 13:46

    zlb (neregistrovaný)

    Aha aha. Toz to je jednoduche.
    Zase mi neco uteklo... "na serveru to neni potreba" - Jakto? Prece pokud mi ten nalezeny dokument nemuzes vratit, tak co?

    At to nevypada ze jen prudim. Paradni uvod do elasticu a spousta muziky za fakt rozumnou cenu, ale prave neschopnost elasticu pracovat poradne s ulozistem soboru me dycky srasne stvala. Na druhou stranu "schopnost" tohoto by byla zabijakem toho paradniho restapi...

    Na screenshotu vysledku hledani je odkaz(?) na ten dokument. Jak se tam objevil? uvazime li ze puvodni demicko neuchovava cestu...

  • 29. 9. 2016 14:00

    Pavel Tišnovský
    Zlatý podporovatel

    Ajo to ja jsem to mozna dobre nepopsal. "Tady" se totiz dokumentace buildi na Jenkinsu, takze namisto cesty na souborovem systemu ukladam URL do fieldu _url_, ktery v puvodnim mapovani je. Takze lidem, co si pousti ten web klient (resp. jeho sofistikovanejsi podobu s dalsimi filtry, nekdo chce videt zdrojaky, nekdo az vysledny dokument) se do linku vrazi odkaz na vygenerovany HTML v artefaktu popr. na zdrojak ve workspacu, on jim uz Jenkins obsah naserviruje a je to i bezpecnejsi (aspon teoreticky, protoze Jenkins si zajistuje, ze nesahne nekam kam nema).