当前位置: 首页 > 面试题库 >

找出多重比对查询中相符的栏位

刘京
2023-03-14
问题内容

我在三个字段上使用典型的多匹配查询:名称,城市,州。多重匹配查询还使用Java功能评分脚本。有什么办法可以知道分数脚本中哪些字段与我的多重匹配查询相匹配?如果没有,有什么办法可以从SearchResponse对象中找出答案吗?

我目前使用的是Elasticsearch 1.2.1,但如有必要,我可以轻松升级。


问题答案:

我不认为您可以直接通过多重匹配直接执行此操作,但是如果添加突出显示,您应该得到一个响应,显示匹配的字段:

http://www.elasticsearch.org/guide/zh-
CN/elasticsearch/guide/current/highlighting-
intro.html

在此页面的示例中:

    GET /megacorp/employee/_search
    {
        "query" : {
            "match_phrase" : {
                "about" : "rock climbing"
            }
        },
        "highlight": {
            "fields" : {
                "about" : {}
            }
        }

}

您可以将match_phrase更改为multi_match并添加字段列表:

    GET /megacorp/employee/_search
    {
        "query" : {
            "multi_match" : {
                "query" : "rock climbing",
                "fields": ["about", "otherfield"]
            }
        },
        "highlight": {
            "fields" : {
                "about" : {},
                 "otherfield": {}
            }
        }

}

这应该会给您一个突出显示的响应,其中包括匹配文本和匹配字段周围的突出显示。



 类似资料:
  • 问题内容: 我想完全匹配 字段中的字符串,并回去一天拉所有这些记录。我拥有的json也似乎与普通单词匹配。我不确定我要去哪里。我是否需要向此查询添加JSON?我当前拥有的JSON如下所示: 问题答案: 如此处所述:查找精确值,因为在对字段进行索引时已对其进行了分析- 您无法完全匹配其标记(“:”)。每当令牌应可搜索时,映射应为“ not_analyzed”,并且数据需要重新索引。 如果您希望仅轻松

  • 如果我有文件: 我想用“红棕色黄”查询,得到文档1。 我怎么能这么做?反过来很容易...

  • 问题内容: 我有一个100名员工的员工表。我想编写一个查询来查找具有相同BIRTHDATE的成对雇员。 结果应返回该对中每个雇员的EMPNO,LASTNAME和BIRTHDATE(6列结果表)。 我以为是这样 你认为这是正确的吗? 问题答案: 我会做:

  • 问题内容: 我遇到了麻烦。 有一个实体发行人与与实体镇的ManyToMany关系有关: 那么实体镇也与地区有关 现在,我必须过滤(使用jpql)一个区域中的所有分发服务器。我能怎么做? 问题答案: 请参阅:https://en.wikibooks.org/wiki/Java_Persistence/JPQL

  • 查找字符串中出现最多的字符和个数? 如 sdsdsddssssssdd -> 字符最多的是s,出现9次 思路说明 利用python中的collections模块的Counter,查此函数详细内容.对字符串进行统计。 然后将结果转化为字典类型。 特别注意,在字符串中可能会出现数量并列第一的字符,因此要通过循环找出最大数之后,再通过循环找出最大数对应的字母(键)。 解答1(python) import

  • 问题内容: 我必须String对象: 我需要做的是找出第二个对象在第一个对象中重复多少次,您能告诉我该怎么做吗? 问题答案: 最简单的方法是在循环中使用,每次找到该单词时都会提高起始索引: 如果一个单词包含自我重复,它将多次找到该单词。请参阅上面的注释,以避免这种“重复”的发现。 ideone演示。