Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ES6 use strict type on boolean (true|false) #1347

Merged
merged 1 commit into from
Aug 14, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,14 @@
All notable changes to this project will be documented in this file based on the [Keep a Changelog](http://keepachangelog.com/) Standard. This project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased](https://github.com/ruflin/Elastica/compare/5.3.0...master)

### Backward Compatibility Breaks
- Numeric to and from parameters in [date_range aggregation](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_aggregations_changes.html#_numeric_literal_to_literal_and_literal_from_literal_parameters_in_literal_date_range_literal_aggregation_are_interpreted_according_to_literal_format_literal_now) are interpreted according to format of the target field

- Numeric to and from parameters in [date_range aggregation](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_aggregations_changes.html#_numeric_literal_to_literal_and_literal_from_literal_parameters_in_literal_date_range_literal_aggregation_are_interpreted_according_to_literal_format_literal_now) are interpreted according to format of the target field
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also link to the PR number. I'm aware this is normally tricky before opening the PR because it is not known yet :-)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok I'll update it in the next PR

- In ES6 only [strict type boolean](https://github.com/elastic/elasticsearch/pull/22200) are accepted. [On ES6 docs](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/boolean.html)
- removed analyzed/not_analyzed on [indices mapping](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-index.html)
- [store](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-store.html) field only accepts boolean

### Bugfixes

### Added
Expand Down
6 changes: 3 additions & 3 deletions test/Elastica/Query/BoostingTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ class BoostingTest extends BaseTest
['name' => 'Vital Match', 'price' => 2.1],
['name' => 'Mercury Vital', 'price' => 7.5],
['name' => 'Fist Mercury', 'price' => 3.8],
['name' => 'Lama Vital 2nd', 'price' => 3.2],
['name' => 'Lama Vital 2nd', 'price' => 1.2],
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did this change?

Copy link
Collaborator Author

@p365labs p365labs Aug 15, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was testing also the BoostingTest.php, and I forget to remove it during the creation of the PR. in the next PR I will update it.

];

protected function _getTestIndex()
{
$index = $this->_createIndex();
$type = $index->getType('test');
$type->setMapping([
'name' => ['type' => 'text', 'index' => 'analyzed'],
'name' => ['type' => 'text', 'index' => 'true'],
'price' => ['type' => 'float'],
]);
$docs = [];
Expand Down Expand Up @@ -68,7 +68,7 @@ public function testToArray()
*/
public function testNegativeBoost()
{
$this->markTestSkipped('ES6 update: in mapping index accepts only strict boolean values (true|false) : https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-index.html');
$this->markTestSkipped('ES6 update: it looks like that boosting changes in ES6.0. did not find at the moment some docs on it. Results in 5.0 and 6.0 are differents.');

$keyword = 'vital';
$negativeKeyword = 'mercury';
Expand Down
4 changes: 1 addition & 3 deletions test/Elastica/Query/FunctionScoreTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,11 @@ class FunctionScoreTest extends BaseTest

protected function _getIndexForTest()
{
$this->markTestSkipped('ES6 update: in mapping index accepts only strict boolean values (true|false) : https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-index.html');

$index = $this->_createIndex();
$type = $index->getType('test');

$type->setMapping([
'name' => ['type' => 'text', 'index' => 'not_analyzed'],
'name' => ['type' => 'text', 'index' => 'false'],
'location' => ['type' => 'geo_point'],
'price' => ['type' => 'float'],
'popularity' => ['type' => 'integer'],
Expand Down
6 changes: 2 additions & 4 deletions test/Elastica/Query/MoreLikeThisTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ class MoreLikeThisTest extends BaseTest
*/
public function testSearch()
{
$this->markTestSkipped('ES6 update: in mapping index accepts only strict boolean values (true|false) : https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-index.html');

$client = $this->_getClient();
$index = new Index($client, 'test');
$index->create([], true);
Expand All @@ -28,8 +26,8 @@ public function testSearch()

$type = new Type($index, 'helloworldmlt');
$mapping = new Mapping($type, [
'email' => ['store' => 'true', 'type' => 'text', 'index' => 'analyzed'],
'content' => ['store' => 'true', 'type' => 'text', 'index' => 'analyzed'],
'email' => ['store' => 'true', 'type' => 'text', 'index' => 'true'],
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could probably now use true instead of 'true' here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dunno why :) revert in next PR, sorry.

'content' => ['store' => 'true', 'type' => 'text', 'index' => 'true'],
]);

$mapping->setSource(['enabled' => false]);
Expand Down
4 changes: 1 addition & 3 deletions test/Elastica/TypeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,11 @@ public function testCreateSearchWithArray()
*/
public function testNoSource()
{
$this->markTestSkipped('ES6 update: in mapping store accepts only strict boolean values (true|false) : https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-store.html');

$index = $this->_createIndex();

$type = new Type($index, 'user');
$mapping = new Mapping($type, [
'id' => ['type' => 'integer', 'store' => 'yes'],
'id' => ['type' => 'integer', 'store' => 'true'],
'username' => ['type' => 'text'],
]);
$mapping->setSource(['enabled' => false]);
Expand Down