簡體   English   中英

蒙哥語中的文字搜索

[英]Text search in Mongo

我有一些貓鼬的模式:

const Article = new Schema({
    name:                            { type: String,     required: true },
    message:                         { type: String,     default: "" },
    searchField:                     { type: String,     default: ""  },
    ...
});

searchField是名稱和消息字段的組合。

和索引:

Article.index({searchField: 'text'});

然后,當我需要在文章列表中搜索時:

query.$text = { $search: data.search }.

它有效,但是存在一些問題。

第一個-在data.search.length <= 3時找不到Article。例如,name ='bag'和data.search ='bag',則不起作用(如果語言為英語,則可以)。

第二個-如果name ='subtitles'和data.search ='sub',則沒有結果。

怎么了?

MongoDB Shell版本:3.0.6

您可以使用正則表達式進行搜索。 將查詢更改為此:

Article.find({searchField: /sub/i});

使用雙/可以只搜索單詞的一部分。 最后的i忽略大小寫。

(請注意,這僅在特定字段searchField搜索)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM