Názor k článku Indexování a fulltextové vyhledávání v dokumentech s Elasticsearch od Pavel Tišnovský - Pokud je to skutečně zapotřebí (na serveru asi...

  • Č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" ]
    },