No handler for type [text] declared on field [content]

Install

1.compile

checkout ik version respective to your elasticsearch version

git checkout tags/{version}

mvn package

copy and unzip target/releases/elasticsearch-analysis-ik-{version}.zip to your-es-root/plugins/ik

2.restart elasticsearch

Tips:

ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合;

ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。

Quick Example

1.create a index

curl -XPUT http://localhost:9200/index

2.create a mapping

curl -XPOST http://localhost:9200/index/fulltext/_mapping -d‘
{
    "fulltext": {
             "_all": {
            "analyzer": "ik_max_word",
            "search_analyzer": "ik_max_word",
            "term_vector": "no",
            "store": "false"
        },
        "properties": {
            "content": {
                "type": "text",
                "analyzer": "ik_max_word",
                "search_analyzer": "ik_max_word",
                "include_in_all": "true",
                "boost": 8
            }
        }
    }
}‘

上面这个rest请求在2.3.4版本的es服务器上会执行失败,原因是es 2.3.4上面还没有text这种类型,"type":"text" 改为 "type":"String"即可 




3.index some docs

curl -XPOST http://localhost:9200/index/fulltext/1 -d‘
{"content":"美国留给伊拉克的是个烂摊子吗"}
‘
curl -XPOST http://localhost:9200/index/fulltext/2 -d‘
{"content":"公安部:各地校车将享最高路权"}
‘
curl -XPOST http://localhost:9200/index/fulltext/3 -d‘
{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}
‘
curl -XPOST http://localhost:9200/index/fulltext/4 -d‘
{"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}
‘

4.query with highlighting

curl -XPOST http://localhost:9200/index/fulltext/_search  -d‘
{
    "query" : { "match" : { "content" : "中国" }},
    "highlight" : {
        "pre_tags" : ["<tag1>", "<tag2>"],
        "post_tags" : ["</tag1>", "</tag2>"],
        "fields" : {
            "content" : {}
        }
    }
}
‘
时间: 2024-08-27 09:03:12

No handler for type [text] declared on field [content]的相关文章

可否控制&lt;link type=text/css rel=stylesheet href=style.css&gt;

本篇文章主要介绍了"可否控制<link type=text/css rel=stylesheet href=style.css> ", 主要涉及到可否控制<link type=text/css rel=stylesheet href=style.css> 方面的内容,对于可否控制<link type=text/css rel=stylesheet href=style.css> 感兴趣的同学可以参考一下. 我想在页面中添加<link type=

html中去掉文本框(input type=&quot;text&quot;)的边框或只显示下边框

去掉: <input   type="text"   name="textfield"   style="border:0px;">只留下边框: <input type="text" style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: solid&

JQuery获取input type=&quot;text&quot;中的值的各种方式

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JQuery获取文本框的值</title> <meta http-equ

&lt;script language = &quot;javascript&quot;&gt;, &lt;script type = &quot;text/javascript&quot;&gt;和&lt;script language = &quot;application/javascript&quot;&gt;(转)

application/javascript是服务器端处理js文件的mime类型,text/javascript是浏览器处理js的mime类型,后者兼容性更好(虽然application/javascript才是正确写法,由于现在大家都写错的,导致浏览器厂商对写application/javascript兼容性更好).等以后大家都用HTML5的时候,就不需要写这个了.直接<script></script>就OK了! 另外 <script language = "ja

JavaScript通过preventDefault()使input[type=text]禁止输入但保留光标

一.说明 取消事件的默认动作. 该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作).例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单.注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作.无论哪种情况,调用该方法都没有作用. 二.语法 event.preventDefault() 三.示例 3.1 阻止<a>元

&lt;script type=&quot;text/template&quot;&gt;是干什么的,为什么要把html写在js中? 这是什么编程语言风格,都能这样用吗?

这一段存放了一个模板.在js里面,经常需要使用js往页面中插入html内容.比如这样: var number = 123; $('#d').append('<div class="t">'+number+'</div>') 如果html很短还好说,但是遇到描述里面的这么大段,直接用字符串存储会很困难,因为不光要处理单引号,还需要很多「+」号把字符串一个个连接起来,十分的不方便.给<script>设置type="text/template&q

给 input 中 type=&quot;text&quot; 设置CSS样式

input[type="text"], input[type="password"] {    border: 1px solid #ccc;    padding: 2px;    font-size: 1.2em;    color: #444;    width: 200px;}

哪种写法更好?&lt;script&gt;&lt;/script&gt; vs/or &lt;script type=&rdquo;text/javasript&rdquo;&gt;&lt;/script&gt;

一直很奇怪 哪种写法更好<script type="text/javascript">-</script> or <script>-</script>? 大致解释就是 如果用H5 就不需要加,因为H5默认属性就是text/javascript, 而 HTML 4.01 and XHTML 1.0 规范 type 属性是需要的,如果用H5<script>...</script> 是可以且比较好的选择. 参考:http

关于MVC模板渲染的一点小事type=&quot;text/template&quot;

先上一个demo,简单粗暴,请自便 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0px; padding: 0px; } </style> <script src="http://code.jquery.c