簡體   English   中英

Mongodb,通過多個字段中的文本搜索查找匹配項

[英]Mongodb, finding matches with text search in multiple fields

我有包含first_name,last_name,id_no和phone字段的文檔。

我想進行文本搜索以檢索包含一個或多個搜索詞的文檔。

例如:

{"$text":{"$search":"JOHN YES"}}

檢索所有在任何索引字段中包含JOHN或YES的文檔。

{"$text":{"$search":" \"JOHN\"  \"YES\" "}}

精確檢索其first_name精確為JOHN且last_name精確為YES的文檔

{"$text":{"$search":" \" JOHN YES \" "}}

不響應任何內容,因為任何字段都完全是JOHN YES

由於我不知道哪個部分與哪個領域相關,因此無法使用。

我想要的是如果我這樣查詢:

"JOHN YES SOMEID_NO"

它應返回包含任何搜索字段中一個或多個單詞的文檔。

結果示例:

1. first_name: JOHN
2. first_name JOHN YES
3. first_name JOHN, last_name YES
4. id_no: SOMEID_NO
5. first_name: YES 

或類似的組合。

通過包含引號,您正在搜索引號內的確切短語。 包括空格。

您正在搜索" JOHN YES " ,在開頭和結尾都有一個空格。 該文本搜索將僅匹配任何字段包含" JOHN YES "文檔,包括那些空格。

暫無
暫無

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

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