README.md in elasticsearch-model-7.2.1 vs README.md in elasticsearch-model-8.0.0.pre
- old
+ new
@@ -4,21 +4,23 @@
It aims to simplify integration of Ruby classes ("models"), commonly found e.g. in [Ruby on Rails](http://rubyonrails.org) applications, with the [Elasticsearch](https://www.elastic.co) search and analytics engine.
## Compatibility
-This library is compatible with Ruby 2.4 and higher.
+This library is compatible with Ruby 3 and higher.
-The library version numbers follow the Elasticsearch major versions. The `main` branch is compatible with the latest Elasticsearch stack stable release.
+The version numbers follow the Elasticsearch major versions. Currently the `main` branch is compatible with version `7.x` of the Elasticsearch stack. **We haven't tested and updated the code for Elasticsearch `8.0` yet**.
-| Rubygem | | Elasticsearch |
-|:-------------:|:-:| :-----------: |
-| 0.1 | → | 1.x |
-| 2.x | → | 2.x |
-| 5.x | → | 5.x |
-| 6.x | → | 6.x |
-| main | → | 7.x |
+| Rubygem | | Elasticsearch |
+|:-------:|:-:|:-------------:|
+| 0.1 | → | 1.x |
+| 2.x | → | 2.x |
+| 5.x | → | 5.x |
+| 6.x | → | 6.x |
+| 7.x | → | 7.x |
+| 8.x | → | 8.x |
+| main | → | 8.x |
## Installation
Install the package from [Rubygems](https://rubygems.org):
@@ -265,12 +267,12 @@
It is possible to search across multiple models with the module method:
```ruby
Elasticsearch::Model.search('fox', [Article, Comment]).results.to_a.map(&:to_hash)
# => [
-# {"_index"=>"articles", "_type"=>"article", "_id"=>"1", "_score"=>0.35136628, "_source"=>...},
-# {"_index"=>"comments", "_type"=>"comment", "_id"=>"1", "_score"=>0.35136628, "_source"=>...}
+# {"_index"=>"articles", "_id"=>"1", "_score"=>0.35136628, "_source"=>...},
+# {"_index"=>"comments", "_id"=>"1", "_score"=>0.35136628, "_source"=>...}
# ]
Elasticsearch::Model.search('fox', [Article, Comment]).records.to_a
# Article Load (0.3ms) SELECT "articles".* FROM "articles" WHERE "articles"."id" IN (1)
# Comment Load (0.2ms) SELECT "comments".* FROM "comments" WHERE "comments"."id" IN (1,5)
@@ -341,11 +343,11 @@
response = Article.search query
response.results.first.title
# => "Quick brown fox"
```
-Also, you can use the [**`elasticsearch-dsl`**](https://github.com/elastic/elasticsearch-ruby/tree/main/elasticsearch-dsl) library, which provides a specialized Ruby API for the Elasticsearch Query DSL:
+Also, you can use the [**`elasticsearch-dsl`**](https://github.com/elastic/elasticsearch-dsl-ruby) library, which provides a specialized Ruby API for the Elasticsearch Query DSL:
```ruby
require 'elasticsearch/dsl'
query = Elasticsearch::DSL::Search.search do
@@ -411,17 +413,15 @@
```ruby
Article.__elasticsearch__.create_index! force: true
Article.__elasticsearch__.refresh_index!
```
-By default, index name and document type will be inferred from your class name,
-you can set it explicitly, however:
+By default, index name will be inferred from your class name, you can set it explicitly, however:
```ruby
class Article
index_name "articles-#{Rails.env}"
- document_type "post"
end
```
### Updating the Documents in the Index
@@ -525,15 +525,15 @@
logger.debug [operation, "ID: #{record_id}"]
case operation.to_s
when /index/
record = Article.find(record_id)
- Client.index index: 'articles', type: 'article', id: record.id, body: record.__elasticsearch__.as_indexed_json
+ Client.index index: 'articles', id: record.id, body: record.__elasticsearch__.as_indexed_json
when /delete/
begin
- Client.delete index: 'articles', type: 'article', id: record_id
- rescue Elasticsearch::Transport::Transport::Errors::NotFound
+ Client.delete index: 'articles', id: record_id
+ rescue Elastic::Transport::Transport::Errors::NotFound
logger.debug "Article not found, ID: #{record_id}"
end
else raise ArgumentError, "Unknown operation '#{operation}'"
end
end
@@ -551,10 +551,10 @@
```
Indexer JID-eb7e2daf389a1e5e83697128 DEBUG: ["index", "ID: 7"]
Indexer JID-eb7e2daf389a1e5e83697128 INFO: PUT http://localhost:9200/articles/article/1 [status:200, request:0.004s, query:n/a]
Indexer JID-eb7e2daf389a1e5e83697128 DEBUG: > {"id":1,"title":"Updated", ...}
-Indexer JID-eb7e2daf389a1e5e83697128 DEBUG: < {"ok":true,"_index":"articles","_type":"article","_id":"1","_version":6}
+Indexer JID-eb7e2daf389a1e5e83697128 DEBUG: < {"ok":true,"_index":"articles","_id":"1","_version":6}
Indexer JID-eb7e2daf389a1e5e83697128 INFO: done: 0.006 sec
```
### Model Serialization