根据多匹配查询(https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html)的留档,可以通过前缀搜索多个属性。您所要做的就是将参数“type”设置为“phrase_prefix”。不幸的是,我在弹性JavaApi(https://www.elastic.co/guide/en/elasticsearch/client/java-api/1.6/multimatch.html)中找不到这个选项。我尝试了类似的东西:
QueryBuilder builder = QueryBuilders
.multiMatchQuery("query", "property1", "property2");
但找不到设置"type"参数的位置。我知道纯粹的Rest是解决办法,但我仅限于java api。
我使用的是org的5.2.2版。弹性搜索。客户:运输。
你必须添加. type(MatchQueryBuilder.类型。PHRASE_PREFIX)
到您的生成器。
例子:
QueryBuilder builder = QueryBuilders
.multiMatchQuery("query", "property1", "property2")
.type(MatchQuery.Type.PHRASE_PREFIX)
我不知道如何通过MatchPhrasePrefix搜索索引中的文档。我想匹配整个搜索词短语,但允许在最后一个词上加前缀。 这个LINQ建筑给了我1.0分的一切。我将如何构建这个?另一方面,是否可以查看NEST正在构建的原始查询?那将非常有帮助!
我遇到了一个问题,elasticsearch在我的环境(舞台和生产)中返回不同的结果。 我使用的elasticsearch版本对于这两种环境是相同的。 这两个环境都具有相同的映射和索引设置。 我有一个项目索引的标题字段为“测试”。我正在尝试执行match_phrase_prefix查询。然而,在我的舞台环境中,当我搜索“te”时,结果会像预期的那样返回。在生产中,我必须将搜索查询扩展到“TES”(
添加注释 获取questiondetails_new/question/_search{“query”:{“bool”:{“should”:[{“match_prace”:{“tags.keyword”:“azure-data-factory”}},{“match_prach”:{“title”:“azure-data-factory”}}],“minimum_should_match”:1,“f
问题内容: 这对我来说应该是显而易见的,但事实并非如此。以下两个仅匹配第二个阶段(在这种情况下为) 而以下错误发出错误消息 我想匹配包含的所有文件 或者 输入完全相同的词组。 问题答案: 您的第一个查询实际上不是有效的JSON对象,因为您两次使用相同的字段名称。 您可以使用布尔必须查询来匹配两个短语:
我有一段说 我对代码的看法: 这是正确的做法吗??
通过看到我的结果,我有点困惑如何在MatchPherage和match query中进行评分 对于匹配短语,我有如下查询 获得的reults如下 a。“信用-消费者测试文章”得分12.64 b的文件。“信用-X测试文章”得分12.64 c的文件。“Credit-XYZ测试文章”得分10.92 d的文档。“信用测试文章”得分10.22 e的文件。“Credit-Z测试文章”得分09.40的文档 前两