ElasticSearch 使用心得

jopen 8年前發布 | 11K 次閱讀 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


  1. 編譯好的zip文件解壓到  ES根目錄/plugin/analyzerIK
  2. 拷貝IK的config/ik 到 ES根目錄/config/
  3. 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


來自: http://my.oschina.net/niuqingshan/blog/547491

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!