MeiliSearch 与 Rust SDK 搜索查询与限制

Posted

技术标签:

【中文标题】MeiliSearch 与 Rust SDK 搜索查询与限制【英文标题】:MeiliSearch with Rust SDK search query with limit 【发布时间】:2021-04-26 12:24:36 【问题描述】:

我正在尝试按搜索值搜索文档并设置限制。 SDK设置的默认限制是20,我想增加一点。使用标准 curl 这很容易,但我很难使用 Rust SDK for Meil​​iSearch 实现相同的功能。

curl \
  'http://localhost:7700/indexes/movies/search' \
  --data ' "q": "american","limit":55 '

文档 (https://docs.meilisearch.com/references/documents.html#get-documents) 提供了此解决方案,但我不知道如何使用此方法发送搜索查询值

let documents: Vec<Movie> = movies.get_documents(None, Some(55), None).await.unwrap(); 

我目前的搜索方式:

let results: SearchResults<Movie> = index
    .search()
    .with_query(&sometestval)
    .execute()
    .await
    .expect("Failed to execute query"); 

我尝试使用 .limit() 之类的参数,但没有任何效果。我不确定我是否忽略了某些东西,或者这个相对较新的项目目前不支持此功能。如果有人有想法,我很乐意听到。

【问题讨论】:

【参考方案1】:

你已经接近了,它不叫limit(),而是with_limit()

let results: SearchResults<Movie> = index
    .search()
    .with_query(&sometestval)
    .with_limit(55)
    .execute()
    .await
    .expect("Failed to execute query"); 

另见"Limit - Search Parameters | MeiliSearch Documentation v0.18"。

【讨论】:

以上是关于MeiliSearch 与 Rust SDK 搜索查询与限制的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Scout/Meilisearch - 按不可搜索的列过滤

Spring jpa 采用 jpql 对 json 数据进行筛选以及 MeiliSearch 调研

不支持驱动程序 [meilisearch]

Meilisearch

Laravel Scout (Meilisearch) - 说是导入的数据,但不是

尝试安装 meilisearch 时出现拒绝访问错误