如何讓Elasticsearch在按術語搜索時排除字段?只使用elasticsearch搜索特定字段
我有一個用戶(姓名,電子郵件,認證,經驗,辦公室...)的索引,但只有某些人可以通過認證搜索用戶。在我目前的PHP Lucene實現中,我有2個單獨的索引,有或沒有這些數據。有沒有辦法只用一個用戶索引就可以做到這一點?我假設我需要應用某種過濾器[1][2],但沒有看到一個可以讓我完全忽略字段的過濾器。
如果有什麼特別的方法可以做到這一點,Elastica (PHP Client)會更有幫助,但本地ES將同樣有幫助。
說我有2個用戶在我的索引
凱文·史密斯 在鬆餅認證的摩托車跳躍製作
馬克·史密斯 認證。
當一個普通用戶搜索摩托車時,什麼都不應該返回,但是如果他們搜索史密斯都應該返回。
如果搜索認證字段的用戶搜索摩托車,並且他們搜索史密斯時都會返回標記。
您可以控制您正在查詢的字段以及返回的內容。你忽略了一個領域意味着什麼?你能再詳細一點嗎? – javanna 2013-03-26 09:20:13
抱歉,用戶搜索索引有10個字段,所以我希望能夠忽略或排除一個字段,同時仍然搜索其他字段。我唯一的選擇是列出我想要搜索的〜9個字段,而不是搜索一個字段? – Rockstar04 2013-03-27 14:27:39
它更清晰,如果我是你,我會試着澄清這個問題。你在做什麼樣的查詢? – javanna 2013-03-27 15:24:59