elasticsearch 利用ik分词搜索

1.不使用ik分词的情况

map

"article": {
    "properties": {
            "author": {
                "store": true,
                "type": "string"
            },
            "id": {
                "index": "not_analyzed",
                "type": "string"
            },
            "title": {
                "store": true,
                "type": "string"
            },
            "content": {
                "store": true,
                "type": "string"
            }
    }
}

搜索

POST /test/article/_search
{
  "query": {
    "match": {
      "content": "武当山"
    }
  },
  "highlight": {
    "fields": {
      "content": {}
    }
  }
}

结果(只显示部分高亮查询结果)

"highlight": {
"content": [
"是一怔。静虚师太为人精细,素知西华子的毛包脾气,还不怎样。唐文亮却双眼一翻,瞪着俞莲舟道:“俞二侠,此话可真?”俞莲舟还未答话,西华子已抢着道:“人家<em>武</em><em>当</em>派已和天鹰教结成了亲家,张翠<em>山</em>做了殷天正的女婿"
,
"。”唐文亮道:“是非曲直,尽可三个月后再论,但谢逊那恶贼藏身何处,还须请张五侠先行示明。”张翠<em>山</em>摇头道:“此刻实不便说。”唐文亮虽极不满,但想<em>武</em><em>当</em>派既和天鹰教联手,倒也真惹不起,然而公道自在人心,且看他三"
,
":“师妹,走罢!”他本和俞莲舟同船而来,这么一来,显是将<em>武</em><em>当</em>派<em>当</em>作了敌人。俞莲舟不动声色,客客气气的送到船头,说道:“我们回<em>山</em>禀明师尊,便送英雄宴的请帖过来。”殷素素忽道:“西华道长,我有一件事请教。”西"
,
"位堂主,相烦禀报殷教主,三月后<em>武</em>昌黄鹤楼头之会,他老人家若是不弃,务请驾临。今日咱们便此别过。五弟,你随我去见恩师吗?”张翠<em>山</em>道:“是!”殷素素听俞莲舟这话竟是要她夫妻分离,<em>当</em>下抬头瞧了瞧天,又低头瞧"
,
":“这不关他的事,都是我杀的。”  俞莲舟望了她一眼,目光中流露出极痛恨的神色,但这目光一闪即隐,脸上随即回复平和,说道:“我原知五弟决不会胡乱杀人。为了这事,少林派曾三次遣人上<em>武</em><em>当</em><em>山</em>来理论,但五弟突然"
]
}

可见在不加ik分词的情况下 “武当山”这个词会被拆成单个字进行搜索

2.加ik分词的情况下

map

"article": {
"properties": {
"author": {
"store": true,
"type": "string"
},
"id": {
"index": "not_analyzed",
"type": "string"
},
"title": {
"store": true,
"type": "string"
},
"content": {
"analyzer": "ik",
"store": true,
"type": "string"
}
}
}

搜索

POST /test/article/_search
{
  "query": {
    "match": {
      "content": "武当山"
    }
  },
  "highlight": {
    "fields": {
      "content": {}
    }
  }
}

结果

"highlight": {
"content": [
":“这不关他的事,都是我杀的。”  俞莲舟望了她一眼,目光中流露出极痛恨的神色,但这目光一闪即隐,脸上随即回复平和,说道:“我原知五弟决不会胡乱杀人。为了这事,少林派曾三次遣人上<em>武当山</em>来理论,但五弟突然"
,
"有何动静,正迟疑间,俞莲舟道:“岸上灌木之中,刀光闪烁,伏得有人。前边芦苇中必有敌舟。”  殷素素游目四顾,但见四下里静悄悄的绝无异状,心想只怕是你眼花了罢?忽听得俞莲舟朗声说道:“<em>武当山</em>俞二、张五"
,
"!”俞莲舟道:“不,今晚不走,明天一早再走。”张翠<em>山</em>微一转念,已明白了他的心意,登时豪气勃发,说道:“不错!此处离本<em>山</em>已不过两日之程,咱师兄弟再不济,也不能堕了师门的威风。在<em>武当山</em>脚下,兀自朝宿晚行的赶路避"
,
"老者,空着双手。第二骑的乘者却是个艳装少妇,左手提着一对双刀。两骑马停在大道正中,挡住了去路。张翠<em>山</em>强抑怒气,在马背上抱拳说道:“<em>武当山</em>俞二、张五这厢有礼,请问老爷子尊姓大名。”那老者皮笑肉不笑的说道"
,
",银钩铁笔虽然上下挥舞,其实装模作样,只须护住督脉诸穴及足少阳胆经诸穴,其余身上穴道,不必理会。  泉建男愈斗精神愈长,大声吆喝,威风凛凛。张翠<em>山</em>心道:“凭着这点儿武功,居然也到<em>武当山</em>脚下来撒野"
]
}

此时“武当山”会被当成一个词来进行搜索

当搜索不常见的词时

POST /test/article/_search
{
  "query": {
    "match": {
      "content": "一线峡畔"
    }
  },
  "highlight": {
    "fields": {
      "content": {}
    }
  }
}
"highlight": {
"content": [
"人,已到了<em>一线</em><em>峡</em><em>畔</em>。晚辈奉大师兄之命,前来迎接贵派。”  灭绝师太道:“好,还是武当派先到了。可和妖人接过仗么?”殷梨亭道:“曾和魔教的木、火两旗交战三次,杀了几名妖人,七师弟莫声谷受了<em>一</em>点伤"
,
"到了<em>一线</em><em>峡</em>么?”此话<em>一</em>出,殷梨亭和张无忌都是大吃<em>一</em>惊。殷梨亭道:“你打听我五师哥,为了何事?”蛛儿红晕生脸,低声道:“我是想知道他的公子张无忌,是不是也来了。”张无忌自是更加吃惊,心道:“原来她早知道"
,
"激斗的人形,奔到近处,见是三个白袍道人手持兵刃,在围攻<em>一</em>个中年汉子。三个道人左手衣袖上都绣着<em>一</em>个红色火焰,显是魔教中人。那中年汉子手舞长剑,剑光闪烁,和三个道人斗得甚是激烈,以<em>一</em>敌三,丝毫不露下风"
,
"。张无忌腿伤早愈,但仍是假装不能行走,坐在雪橇之中,好让峨嵋派诸人不加提防,以便俟机和蛛儿脱身逃走。这时他眼光被身前<em>一</em>名峨嵋男弟子挡住了,须得侧身探头,方能见到那四人相斗。只见那中年汉子长剑越使越快"
,
",突然间转身过来,<em>一</em>声呼喝,刷的<em>一</em>剑,在<em>一</em>名魔教道人胸口穿过。峨嵋众人喝彩声中,张无忌忍不住轻声惊呼,这<em>一</em>招“顺水推舟”,正是武当剑法的绝招,使这<em>一</em>招剑法的中年汉子,却是武当派的六侠殷梨亭。  峨嵋群弟子"
]
}

可见整个词仍然被分开来搜索

将这个词加入字典

一线峡畔

重启elasticsearch,再搜索

"highlight": {
"content": [
"人,已到了<em>一线峡畔</em>。晚辈奉大师兄之命,前来迎接贵派。”  灭绝师太道:“好,还是武当派先到了。可和妖人接过仗么?”殷梨亭道:“曾和魔教的木、火两旗交战三次,杀了几名妖人,七师弟莫声谷受了<em>一</em>点伤"
,
"到了<em>一线</em><em>峡</em>么?”此话<em>一</em>出,殷梨亭和张无忌都是大吃<em>一</em>惊。殷梨亭道:“你打听我五师哥,为了何事?”蛛儿红晕生脸,低声道:“我是想知道他的公子张无忌,是不是也来了。”张无忌自是更加吃惊,心道:“原来她早知道"
,
"激斗的人形,奔到近处,见是三个白袍道人手持兵刃,在围攻<em>一</em>个中年汉子。三个道人左手衣袖上都绣着<em>一</em>个红色火焰,显是魔教中人。那中年汉子手舞长剑,剑光闪烁,和三个道人斗得甚是激烈,以<em>一</em>敌三,丝毫不露下风"
,
"。张无忌腿伤早愈,但仍是假装不能行走,坐在雪橇之中,好让峨嵋派诸人不加提防,以便俟机和蛛儿脱身逃走。这时他眼光被身前<em>一</em>名峨嵋男弟子挡住了,须得侧身探头,方能见到那四人相斗。只见那中年汉子长剑越使越快"
,
",突然间转身过来,<em>一</em>声呼喝,刷的<em>一</em>剑,在<em>一</em>名魔教道人胸口穿过。峨嵋众人喝彩声中,张无忌忍不住轻声惊呼,这<em>一</em>招“顺水推舟”,正是武当剑法的绝招,使这<em>一</em>招剑法的中年汉子,却是武当派的六侠殷梨亭。  峨嵋群弟子"
]
}

可见该词已经被组合在一起,但仍然有被拆开的情况

修改map将content字段改成ik_smart

"article": {
"properties": {
"author": {
"store": true,
"type": "string"
},
"id": {
"index": "not_analyzed",
"type": "string"
},
"title": {
"store": true,
"type": "string"
},
"content": {
"analyzer": "ik_smart",
"store": true,
"type": "string"
}
}
}

在搜索

"highlight": {
"content": [
"到了<em>一线峡畔</em>。晚辈奉大师兄之命,前来迎接贵派。”  灭绝师太道:“好,还是武当派先到了。可和妖人接过仗么?”殷梨亭道:“曾和魔教的木、火两旗交战三次,杀了几名妖人,七师弟莫声谷受了一点伤"
]
}

此时这个词不会被拆分 而是作为一个整体进行搜索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值