首页 > 编程知识 正文

elasticsearch 教程,elasticsearch unauthorized

时间:2023-05-05 14:03:06 阅读:174751 作者:4700

参考: https://www.phpmianshi.com/id=160

1.match查询首先将搜索词分词,分为“白雪”“公主”“苹果”,如“快速眼苹果”。 搜索包含相关内容的字段。

2.match_phrase查询match_phrase与slop一起使用以确保分词之间的邻近关系。 slop参数告诉match_phrase,无论match_phrase查询的词条相距多远,都将文档视为匹配,默认值为0。 如果为0,则必须相邻才能检索。

例如,以下语句也可以在“快速吃苹果”中搜索

gtmy _ index/_ search { ' query ' : { ' bool ' : } ' must ' : [ { ' match _ phrase ' : { ' content ' 3360

如果查询字段中定义了分词器,则使用分词器对输入进行分词,并返回满足以下两个条件的document:

1.match_phase中的所有term都将显示在查询字段中

2 .要查询的字段中的所有term必须与match_phase的顺序相同

3.wildcard查询使用通配符进行查询。 在这里? 表示任意字符的*表示任意一个或多个字符。

以下语句查找包含“公主”一词的内容。

gtmy _ index/_ search { ' query ' : { ' bool ' : } ' must ' : [ { ' wild card ' 3360 { ' content ' 3360 * ]

但是,通过在wildcard中模糊查询可以进行调查。 在搜索词的开头加上*吗? 检索性能会下降。 在大多数情况下,在后面放*可以满足需求。

4.regexp查询基于词条,正则表达式查询的性能很大程度上取决于所选择的正则表达式。 匹配所有内容(如. * )非常慢,并且使用环绕声正则表达式。 如果可能,请在开始正则表达式之前尝试使用长前缀。

像. *一样吗? 这样的通配符匹配程序会降低性能,所以请尽量不要使用。

gtmy _ index/_ search { ' query ' : { ' bool ' : { ' must ' : } { ' regexp ' : { ' content ' 3360 '公主}

参考: https://www.elastic.co/guide/en/elastic search/reference/6.2/query-DSL-regexp-query.html

5.prefix查询基于词条,查询如何开始的内容,前缀查询被映射到Lucene PrefixQuery。

如果满足你的需求,前缀匹配优于wildcard和regexp。

get comment/_ search { ' query ' : } ' bool ' : { ' must ' : [ { ' prefix ' : } ' content ' 3360 ' hh }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。