ElasticSearch 使用心得
版本 ES 1.7.1 pyes 0.99.6
- ES 2.x版本不兼容_head等插件,所以先用1.7.1(這和Python2/3類似)
- pyes 0.99.5 沒有FunctionScoreQuery.FieldValueFactor, 0.99.6有
- RTF(免配置的中文搜索)
- 插件head: 圖形化web管理頁面
中文分詞插件--IK
- 根據版本下載對應的code, 需要安裝MVN,自己編譯(推薦);
- 編譯好的zip文件解壓到 ES根目錄/plugin/analyzerIK
- 拷貝IK的config/ik 到 ES根目錄/config/
- ES根目錄/config/elasticsearch.yml 中追加
index.analysis.analyzer.default.type : "ik" index: analysis: analyzer: ik: alias: [ik_analyzer] type: org.elasticsearch.index.analysis.IkAnalyzerProvider ik_smart: type: ik use_smart: true ik_max_word: type: ik use_smart: false
重啟ES即可
- RTF版本有編譯好的,但我移植到自己的ES上就報錯了,但官方給出的解決方案我是醉了(見https://github.com/medcl/elasticsearch-analysis-ik/issues/48)
- 測試 http://localhost:9200/your_index/_analyze?analyzer=ik&pretty=1&text=我要信耶穌,得永生
查詢 | pyes使用
- 搜索結果的展示,最要關心的莫過于 排序
- ES的全文搜索,默認依據_score降序排
- _score的算法,一般來講了解即可,ES暴露出API來給我們調整score TF/IDF... 詳見http://blog.csdn.net/dm_vincent/article/category/2718099
- boosting in query-time是常用的干預手段
- FunctionScoreQuery可以讓我們更加大力度影響最終score,也就是排序
- FunctionScoreQuery.FieldValueFactor 可以用文檔中某一字段來影響score
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!