[英]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.