Adrien Grand 16be5ecc81 Clean up field-level security. (elastic/elasticsearch#4784)
This commit reuses the automaton that defines the allowed fields in
`FieldSubsetReader` rather than resolving the list of all matching fields from
the mapping. As a side-effect this change solves a bug that unmapped fields
could previously not be read from the source. Moreover it avoids determinization
errors in the case that the number of matching fields is high.

It also uses `CharacterRunAutomaton` to evaluate automata against a given
string, which should be faster than naively stepping into the automaton since
`CharacterRunAutomaton` builds a lookup table of transitions.

Closes elastic/elasticsearch#4679

Original commit: elastic/x-pack-elasticsearch@a30913dbd5
2017-02-03 12:31:04 +01:00
2015-10-30 11:16:29 -06:00
2015-11-25 10:39:08 -05:00
2018-04-20 14:16:58 -07:00

= Elasticsearch X Pack

A set of Elastic's commercial plugins:

- License
- Security
- Watcher
- Monitoring

= Setup
You must checkout x-pack and elasticsearch with a specific directory structure. The
elasticsearch checkout will be used when building x-pack. The structure is:

- /path/to/elastic/elasticsearch
- /path/to/elastic/elasticsearch-extra/x-pack

= Build

- Run unit tests:
+
[source, txt]
-----
gradle clean test
-----

- Run all tests:
+
[source, txt]
-----
gradle clean check
-----

- Run integration tests:
+
[source, txt]
-----
gradle clean integTest
-----

- Package X-Pack (wihtout running tests)
+
[source, txt]
-----
gradle clean assemble
-----

- Install X-Pack (wihtout running tests)
+
[source, txt]
-----
gradle clean install
-----

- If you don't work on the UI/Logstash side of x-plugins, you can force gradle to skip building kibana and/or Logstash by adding
  `xpack.kibana.build=false`/`xpack.logstash.build=false` to your `~/.gradle/gradle.properties`. Alternatively you add `-Pxpack.kibana.build=false` or `-Pxpack.logstash.build=false`
  on the command line if you only want to do this on individual builds (or `-Pxpack.kibana.build=true` if you need to
  override having added this to your `gradle.properties`).
Description
🔎 Open source distributed and RESTful search engine.
Readme 546 MiB
Languages
Java 99.5%
Groovy 0.4%