ElasticSearch 全文检索 termQuery和queryString

term检索,如果content分词后含有中国这个token,就会检索到

curl -XPOST http://192.168.1.101:9200/index/fulltext/_search  -d'
{"query" : { "term" : { "content" : "中国" }}}'

querystring检索,它会先把”中国美国“分词成中国、美国分别去检索,然后最后默认是OR的关系

curl -XPOST http://192.168.22.161:9200/index/fulltext/_search  -d'
{
    "query" : {
          "query_string" : {
               "default_field" : "content",
               "query" : "中国美国"
          }
       }
}'
你也可以明显的写成
“query” : “中国 AND 美国”
或者
“query” : “中国 OR 美国”
如果你把查询条件加上双引号
“query” : “\”中国美国\””
便类似mysql里的like的效果

java客户端

--总结--
java程序都有对应的类和方法。创建索引和设置mapping,这里就不赘述了,主要是检索:
term搜索主要是用:
QueryBuilders.termQuery(“content”, “中国”);
querystring搜索使用:
QueryStringQueryBuilder queryString = new QueryStringQueryBuilder(“中国 OR 美国”);
queryString.field(“content”);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值