我們是彈性搜索和NEST的新手。NEST elasticsearch -C# - 區分大小寫搜索
我們正在嘗試使用C#client - NEST進行區分大小寫的搜索。 我們已經閱讀了很多帖子,但無法弄清楚。有人可以請我們詳細的一步一步的指示。
任何幫助將不勝感激。
謝謝, VB。
我們是彈性搜索和NEST的新手。NEST elasticsearch -C# - 區分大小寫搜索
我們正在嘗試使用C#client - NEST進行區分大小寫的搜索。 我們已經閱讀了很多帖子,但無法弄清楚。有人可以請我們詳細的一步一步的指示。
任何幫助將不勝感激。
謝謝, VB。
嘗試TERM查詢,傳遞給TERM查詢的值是不會被分析的,因此ES不會使您的輸入成爲小寫。
這裏:http://www.elasticsearch.org/guide/reference/query-dsl/term-query/
我知道這是一個老問題,但我在我的研究橫跨它跑了。所以,這是我的答案。
首先,切換到TERM查詢沒有幫助。在瞭解有關ElasticSearch默認工作方式的更多信息後,我明白了原因。
默認情況下,ElasticSearch爲不區分大小寫。當文檔編入索引時,默認分析器會降低所有字符串值並保留小寫值以供將來搜索。這不會影響存儲在文檔本身中的值,但小寫確實會影響搜索。
如果您使用默認分析器,那麼您的字符串值的搜索條件應該全部小寫。
在我學會了這種工作方式之前,我花了相當長的時間在一個索引文檔中查看混合大小寫的字段值,然後用一個使用相同混合大小寫值的查詢詞進行搜索。零結果。直到我強制將我的查詢使用的值全部寫入小寫字母,纔開始獲取結果。你已經試過將有助於使一個開始什麼ElasticSearch - Analysis
..以及爲什麼這不在Nest文檔中解釋? (同樣發生在這裏:/) –
一些代碼:
你可以閱讀更多關於ElasticSearch分析儀在這裏。 –