Comments (8)
To perform the join or limit the scope of the import method, just write your own importing routine, using find_in_batches
, something like:
errors = 0
Article.where("published_on > 2013-12-01").find_in_batches(batch_size: 100) do |articles|
response = Article.__elasticsearch__.client.bulk \
index: Article.index_name,
type: Article.document_type,
body: articles.map { |a| { index: { _id: a.id, data: a.__elasticsearch__.as_indexed_json } } }
errors += response['items'].map { |k, v| k.values.first['error'] }.compact.length
end
It would make sense to add an import
method to the ActiveRecord::Relation
/ Mongoid::Collection
classes, so you'd simply call Article.where("published_on > 2013-12-01")
. I'll keep that in mind.
from elasticsearch-rails.
@bcackerman the ability to specify ActiveRecord scope on the Rake import task has recently been added in #104.
from elasticsearch-rails.
Is there a way to use force: true
with the version @karmi posted?
from elasticsearch-rails.
@bcackerman What do you mean by using the force
option in this context? As @aackerman says (thanks!), you can specify the scope in the environment variable for the Rake task, and then just use FORCE=y
.
If you wanna manage it yourself, then the create_index!
method accepts a force
option -- please see the RDoc.
from elasticsearch-rails.
Hi @karmi, has any user been able to replicate your bulk import example with Mongoid instead of ActiveRecord? I search all over the net but since Mongoid doesn't have find_in_batches
, I'm not sure how to implement your example above.
from elasticsearch-rails.
@netwire88 It should work exactly the same for Mongoid -- there's an adapter for Mongoid shipped.
from elasticsearch-rails.
@netwire88 I mean, if you wanna write a custom importing code like that, just use the appropriate Mongoid methods, see eg. this comment, https://github.com/mongoid/mongoid/issues/1334#issuecomment-2419621
from elasticsearch-rails.
Thanks @karmi, does the default import
method that comes with elasticsearch rails use bulk import?
from elasticsearch-rails.
Related Issues (20)
- NPE happens on short prefix query on a field with index_prefixes
- Indexes are not refreshing, even with refresh_interval being set
- Disable automatic callbacks in rspec
- Not getting any records from elasticsearch HOT 1
- FYI gem version 6.1.1 was pushed without any changes HOT 1
- elasticsearch-model 7.2.1 introduces circular dependency with ruby 2.7 and rubygems 3.2.5 HOT 1
- specify an alias near the index_name in an AR model HOT 1
- Illegal argument "type" sent in all requests upgrading to 8.x HOT 1
- Not able to update single record too please help me to here HOT 1
- How to import into two clusters
- Mapping Two Ruby on Rails Models with Different Attribute Names to a Shared Elasticsearch Index using 'elasticsearch-rails'
- update_document not selective enough
- Backward compatibility for older Elasticsearch version HOT 1
- Faraday::ConnectionFailed (end of file reached) HOT 1
- Elasticsearch - Unexpected Character Error (Minus Sign) HOT 1
- Unexpected behavior when searching from a scope
- Feature Suggestion - Get Indexed Document for Instance
- Deprecation warning in Rails 7.1 (support Rails 7.2) HOT 2
- ElasticSearch::Model does not register a subclass HOT 3
- rake elasticsearch:import:model - ArgumentError: unknown keyword: :type (ArgumentError)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elasticsearch-rails.