elasticsearch-cn-out-of-box

https://github.com/hangxin1940/elasticsearch-cn-out-of-box

为elasticsearch集成一些实用插件以及配置的开箱即用的版本。

======

站点插件:

分词插件

其他插件

为 inquisitor 插件增加自定义分析器的预览等

使用方法

浏览器进入插件 http://localhost:9200/_plugin/oob

elasticsearch.yml

  1. # 集群名
  2. cluster.name: "cn-out-of-box"
  3. # 节点名
  4. node.name: "node1"
  5. # 是否有资格成为主节点
  6. node.master: true
  7. # 是否存储索引数据
  8. node.data: true
  9. # 默认索引分片数
  10. index.number_of_shards: 3
  11. # 默认索引副本数
  12. index.number_of_replicas: 1
  13. # 临时文件存储路路径
  14. #path.work: "/tmp/elasticsearch"
  15. # 日志文件存储路路径
  16. #path.logs: "/var/log/elasticsearch/logs"
  17. # tcp传输端口
  18. transport.tcp.port: 9300
  19. # 是否压缩tcp传输数据
  20. transport.tcp.compress: true
  21. # http端口
  22. http.port: 9200
  23. # 是否开启http服务
  24. #http.enabled: true
  25. # 是否打开多播发现节点
  26. discovery.zen.ping.multicast.enabled: true
  27. # 慢查询日志参数
  28. #index.search.slowlog.threshold.query.warn: 10s
  29. #index.search.slowlog.threshold.query.info: 5s
  30. #index.search.slowlog.threshold.query.debug: 2s
  31. #index.search.slowlog.threshold.query.trace: 500ms
  32. #index.search.slowlog.threshold.fetch.warn: 1s
  33. #index.search.slowlog.threshold.fetch.info: 800ms
  34. #index.search.slowlog.threshold.fetch.debug: 500ms
  35. #index.search.slowlog.threshold.fetch.trace: 200ms
  36. # 启用jetty插件提供http服务
  37. http.type: com.sonian.elasticsearch.http.jetty.JettyHttpServerTransport
  38. # sonian.elasticsearch.http.jetty:
  39. # ==== 开启 https
  40. #ssl_port: 9443
  41. #config: jetty.xml,jetty-ssl.xml, jetty-gzip.xml
  42. #keystore_password: "OBF:1nc01vuz1w8f1w1c1rbu1rac1w261w9b1vub1ndq"
  43. # ==== 开启用户认证
  44. # config: jetty.xml,jetty-hash-auth.xml,jetty-restrict-all.xml
  45. # 索引配置
  46. index:
  47. # 分析配置
  48. analysis:
  49. # 分词器配置
  50. tokenizer:
  51. index_ansj_token:
  52. type: ansj_index_token
  53. is_name: false
  54. is_num: false
  55. is_quantifier: false
  56. query_ansj_token:
  57. type: ansj_query_token
  58. is_name: false
  59. is_num: false
  60. is_quantifier: false
  61. # ======== analysis-pinyin ========
  62. # 完整拼音
  63. my_pinyin:
  64. type: pinyin
  65. first_letter: prefix
  66. padding_char: ' '
  67. # 拼音首字母
  68. pinyin_first_letter:
  69. type: pinyin
  70. first_letter: only
  71. # ======== analysis-mmseg ========
  72. # 简单正向匹配
  73. # example: 一个劲儿的说话
  74. # 一个
  75. # 一个劲
  76. # 一个劲儿
  77. # 一个劲儿的
  78. mmseg_simple:
  79. type: mmseg
  80. seg_type: simple
  81. # 匹配出所有的“三个词的词组”
  82. # 并使用四种规则消歧(最大匹配、最大平均词语长度、词语长度的最小变化率、所有单字词词频的自然对数之和)
  83. # example: 研究生命起源
  84. # 研_究_生
  85. # 研_究_生命
  86. # 研究生_命_起源
  87. # 研究_生命_起源
  88. mmseg_complex:
  89. type: mmseg
  90. seg_type: complex
  91. # 基于complex的最多分词
  92. # example: 中国人民银行
  93. # 中国|人民|银行
  94. mmseg_maxword:
  95. type: mmseg
  96. seg_type: max_word
  97. # ======== analysis-stconvert ========
  98. # 简繁转换,只输出繁体
  99. s2t_convert:
  100. type: stconvert
  101. delimiter: ","
  102. convert_type: s2t
  103. # 繁简转换,只输出简体
  104. t2s_convert:
  105. type: stconvert
  106. delimiter: ","
  107. convert_type: t2s
  108. # 简繁转换,同时输出繁体简体
  109. s2t_keep_both_convert:
  110. type: stconvert
  111. delimiter: ","
  112. keep_both: 'true'
  113. convert_type: s2t
  114. # 繁简转换,同时输出简体繁体
  115. t2s_keep_both_convert:
  116. type: stconvert
  117. delimiter: ","
  118. keep_both: 'true'
  119. convert_type: t2s
  120. # ======== analysis-pattern ========
  121. # 正则,分号分词
  122. semicolon_spliter:
  123. type: pattern
  124. pattern: ";"
  125. # 正则,%分词
  126. pct_spliter:
  127. type: pattern
  128. pattern: "[%]+"
  129. # ======== analysis-nGram ========
  130. # 1~2字为一词
  131. ngram_1_to_2:
  132. type: nGram
  133. min_gram: 1
  134. max_gram: 2
  135. # 1~3字为一词
  136. ngram_1_to_3:
  137. type: nGram
  138. min_gram: 1
  139. max_gram: 3
  140. # 过滤器配置
  141. filter:
  142. # ======== ngram filter ========
  143. ngram_min_3:
  144. max_gram: 10
  145. min_gram: 3
  146. type: nGram
  147. ngram_min_2:
  148. max_gram: 10
  149. min_gram: 2
  150. type: nGram
  151. ngram_min_1:
  152. max_gram: 10
  153. min_gram: 1
  154. type: nGram
  155. # ======== length filter ========
  156. min2_length:
  157. min: 2
  158. max: 4
  159. type: length
  160. min3_length:
  161. min: 3
  162. max: 4
  163. type: length
  164. # ======== string2int filter ========
  165. # my_string2int:
  166. # type: string2int
  167. # redis_server: 127.0.0.1
  168. # redis_port: 6379
  169. # redis_key: index1_type2_name2
  170. # ======== pinyin filter ========
  171. pinyin_first_letter:
  172. type: pinyin
  173. first_letter: only
  174. # 分析器配置
  175. analyzer:
  176. lowercase_keyword:
  177. type: custom
  178. filter:
  179. - lowercase
  180. tokenizer: standard
  181. lowercase_keyword_ngram_min_size1:
  182. type: custom
  183. filter:
  184. - lowercase
  185. - stop
  186. - trim
  187. - unique
  188. tokenizer: nGram
  189. lowercase_keyword_ngram_min_size2:
  190. type: custom
  191. filter:
  192. - lowercase
  193. - min2_length
  194. - stop
  195. - trim
  196. - unique
  197. tokenizer: nGram
  198. lowercase_keyword_ngram_min_size3:
  199. type: custom
  200. filter:
  201. - lowercase
  202. - min3_length
  203. - stop
  204. - trim
  205. - unique
  206. tokenizer: ngram_1_to_3
  207. lowercase_keyword_ngram:
  208. type: custom
  209. filter:
  210. - lowercase
  211. - stop
  212. - trim
  213. - unique
  214. tokenizer: ngram_1_to_3
  215. lowercase_keyword_without_standard:
  216. type: custom
  217. filter:
  218. - lowercase
  219. tokenizer: keyword
  220. lowercase_whitespace:
  221. type: custom
  222. filter:
  223. - lowercase
  224. tokenizer: whitespace
  225. # ======== ik ========
  226. # ik分词器
  227. ik:
  228. alias:
  229. - ik_analyzer
  230. type: org.elasticsearch.index.analysis.IkAnalyzerProvider
  231. # ik智能切分
  232. ik_max_word:
  233. type: ik
  234. use_smart: false
  235. # ik最细粒度切分
  236. ik_smart:
  237. type: ik
  238. use_smart: true
  239. # ======== mmseg ========
  240. # mmseg分词器
  241. mmseg:
  242. alias:
  243. - mmseg_analyzer
  244. type: org.elasticsearch.index.analysis.MMsegAnalyzerProvider
  245. mmseg_maxword:
  246. type: custom
  247. filter:
  248. - lowercase
  249. tokenizer: mmseg_maxword
  250. mmseg_complex:
  251. type: custom
  252. filter:
  253. - lowercase
  254. tokenizer: mmseg_complex
  255. mmseg_simple:
  256. type: custom
  257. filter:
  258. - lowercase
  259. tokenizer: mmseg_simple
  260. # ======== 正则 ========
  261. comma_spliter:
  262. type: pattern
  263. pattern: "[,|\\s]+"
  264. pct_spliter:
  265. type: pattern
  266. pattern: "[%]+"
  267. custom_snowball_analyzer:
  268. type: snowball
  269. language: English
  270. simple_english_analyzer:
  271. type: custome
  272. tokenizer: whitespace
  273. filter:
  274. - standard
  275. - lowercase
  276. - snowball
  277. edge_ngram:
  278. type: custom
  279. tokenizer: edgeNGram
  280. filter:
  281. - lowercase
  282. # ======== 拼音分析 ========
  283. pinyin_ngram_analyzer:
  284. type: custom
  285. tokenizer: my_pinyin
  286. filter:
  287. - lowercase
  288. - nGram
  289. - trim
  290. - unique
  291. # ======== 拼音首字母分词 ========
  292. pinyin_first_letter_analyzer:
  293. type: custom
  294. tokenizer: pinyin_first_letter
  295. filter:
  296. - standard
  297. - lowercase
  298. # ======== 拼音首字母分词并过滤 ========
  299. pinyin_first_letter_keyword_analyzer:
  300. alias:
  301. - pinyin_first_letter_analyzer_keyword
  302. type: custom
  303. tokenizer: keyword
  304. filter:
  305. - pinyin_first_letter
  306. - lowercase
  307. # ======== 简繁体 ========
  308. stconvert:
  309. alias:
  310. - st_analyzer
  311. type: org.elasticsearch.index.analysis.STConvertAnalyzerProvider
  312. s2t_convert:
  313. type: stconvert
  314. delimiter: ","
  315. convert_type: s2t
  316. t2s_convert:
  317. type: stconvert
  318. delimiter: ","
  319. convert_type: t2s
  320. s2t_keep_both_convert:
  321. type: stconvert
  322. delimiter: ","
  323. keep_both: 'true'
  324. convert_type: s2t
  325. t2s_keep_both_convert:
  326. type: stconvert
  327. delimiter: ","
  328. keep_both: 'true'
  329. convert_type: t2s
  330. #string2int:
  331. #type: org.elasticsearch.index.analysis.String2IntAnalyzerProvider
  332. # redis_server: 127.0.0.1
  333. # redis_port: 6379
  334. # redis_key: index1_type1_name1
  335. #custom_string2int:
  336. #type: custom
  337. #tokenizer: whitespace
  338. #filter:
  339. #- string2int
  340. #- lowercase
  341. # 路径分析
  342. path_analyzer:
  343. type: custom
  344. tokenizer: path_hierarchy
  345. # ======== ansj ========
  346. index_ansj:
  347. alias:
  348. - ansj_index_analyzer
  349. type: ansj_index
  350. user_path: ansj/user
  351. ambiguity: ansj/ambiguity.dic
  352. stop_path: ansj/stopLibrary.dic
  353. #is_name: false
  354. # s_num: true
  355. #is_quantifier: true
  356. redis: false
  357. #pool:
  358. #maxactive: 20
  359. # maxidle: 10
  360. #maxwait: 100
  361. #testonborrow: true
  362. #ip: 127.0.0.1:6379
  363. #channel: ansj_term
  364. query_ansj:
  365. alias:
  366. - ansj_query_analyzer
  367. type: ansj_query
  368. user_path: ansj/user
  369. ambiguity: ansj/ambiguity.dic
  370. stop_path: ansj/stopLibrary.dic
  371. #is_name: false
  372. # is_num: true
  373. # is_quantifier: true
  374. redis: false
  375. #pool:
  376. #maxactive: 20
  377. # maxidle: 10
  378. #maxwait: 100
  379. #testonborrow: true
  380. #ip: 127.0.0.1:6379
  381. #channel: ansj_term
  382. uax_url_email:
  383. tokenizer: uax_url_email
  384. filter: [standard, lowercase, stop]
  385. # ======== combo ========
  386. combo:
  387. type: combo
  388. sub_analyzers:
  389. - ansj_index
  390. - ik_smart
  391. - mmseg_complex
  392. - uax_url_email
  393. - s2t_convert
  394. - t2s_convert
  395. - smartcn
  396. - simple_english_analyzer
  397. # 默认分析器
  398. index.analysis.analyzer.default.type: combo
  399. # 线程池设置
  400. threadpool:
  401. index:
  402. type: fixed
  403. size: 30
  404. queue: -1
  405. reject_policy: caller

elasticsearch-cn-out-of-box的更多相关文章

  1. Query DSL for elasticsearch Query

    Query DSL Query DSL (资料来自: http://www.elasticsearch.cn/guide/reference/query-dsl/) http://elasticsea ...

  2. 可以执行全文搜索的原因 Elasticsearch full-text search Kibana RESTful API with JSON over HTTP elasticsearch_action es 模糊查询

    https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html Elasticsearch is a ...

  3. 搜索引擎 ElasticSearch 之 步步为营 【主目录】

    ElasticSearch 是一款著名的分布式搜索引擎框架,采用Java编写.具有搜索速度快,实时搜索等特色. 以下为官网对ElasticSearch的介绍: Elasticsearch 是一款高可伸 ...

  4. 【elasticsearch】python下的使用

    有用链接: 最有用的:http://es.xiaoleilu.com/054_Query_DSL/70_Important_clauses.html 不错的博客:http://www.cnblogs. ...

  5. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  6. ElasticSearch实战使用

    注意:以下命令都是使用sense测试(ElasticSearch第二步-CRUD之Sense),且数据都已经使用过IK分词. 以下测试数据来源于文档(db_test/person) 需要注意的是下面的 ...

  7. Elasticsearch和mysql数据同步(elasticsearch-jdbc)

    1.介绍 对mysql.oracle等数据库数据进行同步到ES有三种做法:一个是通过elasticsearch提供的API进行增删改查,一个就是通过中间件进行数据全量.增量的数据同步,另一个是通过收集 ...

  8. laravel Scout包在elasticsearch中的应用

    laravel Scout包在elasticsearch中的应用 laravel的Scout包是针对自身的Eloquent模型开发的基于驱动的全文检索引擎.意思就是我们可以像使用ORM一样使用检索功能 ...

  9. 搜索引擎solr和elasticsearch

    刚开始接触搜索引擎,网上收集了一些资料,在这里整理了一下分享给大家. 一.关于搜索引擎 搜索引擎(Search Engine)是指根据一定的策略.运用特定的计算机程序从互联网上搜集信息,在对信息进行组 ...

  10. 【转】Elasticsearch学习

    原作者:铭毅天下,原文地址:blog.csdn.net/laoyang360 https://blog.csdn.net/wojiushiwo987/article/details/52244917 ...

随机推荐

  1. 将特定TD颜色改变的两种方法

    方法一:取table值 方法二:使用tbody  

  2. hdu 5101 n集合选2个不同集合数使和大于k

    http://acm.hdu.edu.cn/showproblem.php?pid=5101 给n个集合,选择两个来自不同集合的数,加和大于k,问有多少种选择方案. 答案=从所有数中选择的两个加和大于 ...

  3. C#设计模式——单件模式

    一.为何需要单件模式 需求 我们开发了一个大型的项目,其中存在许多的工具类.但是其中很多的工具类我们并不是经常使用得到,甚至 一次都不会使用.但是这些工具类都是静态的类,会消耗很多的内存,即使一次都不 ...

  4. EmberJs之3W

    写在前面 最近比较忙,换了新工作还要学习很多全新的技术栈,并给自己找了很多借口来不去坚持写博客.常常具有讽刺意味的是,更多剩下的时间并没有利用而更多的是白白浪费,也许这就是青春吧,挥霍吧,这不是我想要 ...

  5. Json.Net4.5 序列化问题

    1.子类序列化 依赖父类属性 [DataContract] public class pcc { [DataMember] public string Name { get; set; } } pub ...

  6. node-webkit教程(11)Platform Service之shell

    node-webkit教程(11)Platform Service之shell 文/玄魂 目录 node-webkit教程(10)Platform Service之shell 前言 11.1  She ...

  7. libevent (二) 接收TCP连接

    libevent 接收TCP连接 Evconnlistener 机制为您提供了侦听和接受传入的 TCP 连接的方法.下面的函数全部包含在`<event2/listener.h>`中. ev ...

  8. [安卓] 7、页面跳转和Intent简单用法

    这里有一个layout资源,2个activity.首先在MainActivity.java中实例化按钮和添加按钮监听绑定都是我们知道的,这里要注意的是第22行Intent intent = new I ...

  9. JAVA通过XPath解析XML性能比较(原创)

    (转载请标明原文地址) 最近在做一个小项目,使用到XML文件解析技术,通过对该技术的了解和使用,总结了以下内容. 1 XML文件解析的4种方法 通常解析XML文件有四种经典的方法.基本的解析方式有两种 ...

  10. C#移除HTML标记

    移除一段文字中的HTML标记,以消除其中包含的样式和段落等,最常用的办法可能就是正则表达式了.但是请注意,正则表达式并不能处理所有的HTML文档,所以有时采用一个迭代的方式会更好,如for循环.看下面 ...