script-query.asciidoc 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. [[java-query-dsl-script-query]]
  2. ==== Script Query
  3. See {ref}/query-dsl-script-query.html[Script Query]
  4. [source,java]
  5. --------------------------------------------------
  6. QueryBuilder qb = scriptQuery(
  7. new Script("doc['num1'].value > 1") <1>
  8. );
  9. --------------------------------------------------
  10. <1> inlined script
  11. If you have stored on each data node a script named `myscript.painless` with:
  12. [source,painless]
  13. --------------------------------------------------
  14. doc['num1'].value > params.param1
  15. --------------------------------------------------
  16. You can use it then with:
  17. [source,java]
  18. --------------------------------------------------
  19. QueryBuilder qb = scriptQuery(
  20. new Script(
  21. "myscript", <1>
  22. ScriptType.FILE, <2>
  23. "painless", <3>
  24. Collections.singletonMap("param1", 5)) <4>
  25. );
  26. --------------------------------------------------
  27. <1> Script name
  28. <2> Script type: either `ScriptType.FILE`, `ScriptType.INLINE` or `ScriptType.INDEXED`
  29. <3> Scripting engine
  30. <4> Parameters as a `Map` of `<String, Object>`