2017-04-20 49 views
0

我想從azure search獲取所有文檔,並使用NOT運算符過濾掉。例如,我想獲取所有沒有使用無線網絡的文件。如何加密Azure中的所有文檔搜索

NOT運營商不能單獨使用,從Lucene的文檔:

NOT操作符不能只用一個學期使用。例如, 以下搜索將返回任何結果: NOT "jakarta apache"

爲此,我們必須匹配所有文件,然後過濾掉一些:

*:* NOT wifi 

問:我怎樣才能在所有文件匹配azure search*:*在lucene? 在此先感謝!

+0

你能(最好通過指向Lucene的文檔)什麼\ *解釋一下嗎?我看起來像一個無效的通配符查詢,因爲通配符查詢不能以\ *或?開頭。符號。 – Yahnoosh

回答

1

一種方法是發出匹配所有文檔的正則表達式搜索,並使用NOT運算符過濾掉不想要的正則表達式搜索。請注意,正則表達式搜索僅在完整的Lucene查詢語法(queryType = full)中受支持。

例如。

search = /。*/NOT「Jakarta apache」& queryType = full。

請注意,「匹配所有」正則表達式模式可能會很昂貴,因爲它擴展爲索引中可搜索字段中的所有術語。請確保它符合您的期望表現明智。 \ *表達式爲:

內特

相關問題