我正在使用ElasticSearch在Webapp(Rails + Tire)上實現搜索。在查詢ES服務器時,有沒有辦法知道返回的Json字段與查詢匹配?彈性搜索 - 獲取匹配字段
回答
最簡單的方法是使用highlight功能,請參閱輪胎中的支持:https://github.com/karmi/tire/blob/master/test/integration/highlight_test.rb。
請勿將Explain API用於其他調試目的,因爲這會對性能產生負面影響。
您是否嘗試過從彈性搜索中使用Explain API?解釋的輸出爲您提供了文檔匹配原因的詳細解釋,並且它是相關性分數。
用於搜索記錄的算法通常比單個字符串匹配複雜得多。另外,考慮到您有可能匹配多個字段(可能具有不同的權重),因此可能不容易想出一個簡單的答案。但是,看看Explain API的輸出結果,你應該能夠構建一個有意義的消息。
謝謝,雖然我可以從解釋調用中獲得,但對於該例程來說,這看起來太昂貴了。 – AndPy
是的,的確如此。我不確定你是否打算永久擁有這個。我的印象是這是一個調試場景。 @Karmi指出,我認爲'突出'會是更好的方法。 –
- 1. 部分匹配和完全匹配的多個字段的彈性搜索
- 2. 類型不匹配彈性搜索
- 3. 節點彈性搜索嚴格匹配
- 4. 彈性搜索 - 或查詢不匹配
- 5. 彈性搜索的完全匹配
- 6. 彈性搜索將不匹配數組
- 7. 在彈性搜索中獲取聚集記錄的_id字段
- 8. 涉及數字字符的彈性搜索同義詞匹配
- 9. 彈性搜索:首先匹配另一個匹配
- 10. 彈性搜索:能夠搜索'n1'並匹配'N°1'
- 11. 彈性搜索 - 多重匹配 - 詞組搜索
- 12. 彈性搜索中的完全匹配搜索不起作用
- 13. 彈性搜索Wilcard搜索或部分匹配
- 14. 分組match_phrase搜索按匹配文本導致彈性搜索
- 15. 彈性數據彈性搜索 - 查詢 - 全文搜索
- 16. 彈性搜索沒有顯示字段
- 17. 彈性搜索唯一字段值
- 18. 彈性搜索中的存儲字段
- 19. 彈性搜索多個字段
- 20. ngram通配符搜索彈性搜索
- 21. 彈性搜索通配符搜索
- 22. 不能匹配乾草堆彈性搜索中的數字
- 23. 如何在彈性搜索中聚合數組中的匹配字段
- 24. 使用相同的查詢字符串在多個字段上匹配和匹配 - 彈性搜索(嵌套)
- 25. 彈性搜索嵌套性
- 26. 在彈性搜索查詢中獲取所有匹配的構面
- 27. 從Kibana獲取彈性搜索查詢
- 28. 如何映射配置單元到彈性搜索_id字段
- 29. Java彈性搜索:像
- 30. 彈性搜索結構化數據的嵌套字段搜索
謝謝,你用這顆寶石做了很棒的工作! – AndPy