mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-23 10:37:41 +08:00
Merge #463
463: Allow setting the primary-key in the cli r=irevoire a=irevoire Co-authored-by: Tamo <tamo@meilisearch.com>
This commit is contained in:
commit
2ef5751795
@ -11,7 +11,7 @@ use indicatif::{MultiProgress, ProgressBar, ProgressStyle};
|
|||||||
use milli::update::UpdateIndexingStep::{
|
use milli::update::UpdateIndexingStep::{
|
||||||
ComputeIdsAndMergeDocuments, IndexDocuments, MergeDataIntoFinalDatabase, RemapDocumentAddition,
|
ComputeIdsAndMergeDocuments, IndexDocuments, MergeDataIntoFinalDatabase, RemapDocumentAddition,
|
||||||
};
|
};
|
||||||
use milli::update::{IndexDocumentsConfig, IndexDocumentsMethod, IndexerConfig};
|
use milli::update::{self, IndexDocumentsConfig, IndexDocumentsMethod, IndexerConfig};
|
||||||
use milli::Index;
|
use milli::Index;
|
||||||
use serde_json::{Map, Value};
|
use serde_json::{Map, Value};
|
||||||
use structopt::StructOpt;
|
use structopt::StructOpt;
|
||||||
@ -191,6 +191,9 @@ struct DocumentAddition {
|
|||||||
/// Path to the update file, if not present, will read from stdin.
|
/// Path to the update file, if not present, will read from stdin.
|
||||||
#[structopt(short, long)]
|
#[structopt(short, long)]
|
||||||
path: Option<PathBuf>,
|
path: Option<PathBuf>,
|
||||||
|
/// Specify the primary key.
|
||||||
|
#[structopt(long)]
|
||||||
|
primary: Option<String>,
|
||||||
/// Whether to generate missing document ids.
|
/// Whether to generate missing document ids.
|
||||||
#[structopt(short, long)]
|
#[structopt(short, long)]
|
||||||
autogen_docids: bool,
|
autogen_docids: bool,
|
||||||
@ -231,6 +234,12 @@ impl Performer for DocumentAddition {
|
|||||||
IndexDocumentsMethod::ReplaceDocuments
|
IndexDocumentsMethod::ReplaceDocuments
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if let Some(primary) = self.primary {
|
||||||
|
let mut builder = update::Settings::new(&mut txn, &index, &config);
|
||||||
|
builder.set_primary_key(primary);
|
||||||
|
builder.execute(|_| ()).unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
let indexing_config = IndexDocumentsConfig {
|
let indexing_config = IndexDocumentsConfig {
|
||||||
update_method,
|
update_method,
|
||||||
autogenerate_docids: self.autogen_docids,
|
autogenerate_docids: self.autogen_docids,
|
||||||
|
Loading…
Reference in New Issue
Block a user