簡體   English   中英

在使用與Elasticsearch-py匹配的查詢時,是否有任何自定義分析器的建議?

[英]Any suggestions to customize an analyzer when using query match with elasticsearch-py?

在對Elasticsearch-py使用查詢匹配時,我無法應用自定義分析器。

我定制了一個名為custom_lowercase_stemmed的分析器,並使用es.indices.put_settings更新了索引設置。

但是,我搜索時找不到分析儀。

我還查看了es.search的參數analyzer ,但它返回錯誤:

..無法識別的參數:[分析器]

我可以從定制分析儀那里獲得任何建議嗎? 謝謝!

query_body = {
     "query": {
         "match": {
            "employer":{
                "query": txt,
                "fuzziness": 'AUTO',
                "analyzer" : 'custom_lowercase_stemmed'
            }
        }
    }
}
es.search(index='hello',body=query_body)

這是完整的錯誤:

RequestError: RequestError(400, 'search_phase_execution_exception', '[match] analyzer [custom_lowercase_stemmed] not found')

我認為您必須確保具備以下條件:

  • 正確設置您的配置 在您的情況下,應在設置中將“ custom_lowercase_stemmed”字段用作分析器。 您還可以定義要停止的單詞。

  • 使用Python ES客戶端,您必須將分析器作為.search()方法的參數發送。 檢查文檔 但是,您可以嘗試按原樣運行查詢。 我在分析器上玩的不多。

希望這會有所幫助! :D

確保在映射時指定了分析器,並確保查詢正確的字段。

對於有關刪除重復名稱的匹配問題的疑問,在術語級別和短詞中,模糊性和通配符參數將是最合適的!

干漢(Min Han):

暫無
暫無

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

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