gpt4 book ai didi

elasticsearch - 多词查询中的多匹配搜索

转载 作者:行者123 更新时间:2023-12-02 23:35:00 26 4
gpt4 key购买 nike

我正在寻找一种MultiMatchQuery来搜索像“美国队长”这样的术语,其中数据存储为"firstname": "Captain""lastname":"America"

我目前有:

 MultiMatchQueryBuilder match = QueryBuilders.multiMatchQuery(
text.toString(),
"username",
"firstname",
"lastname"
)
.type(MatchQueryBuilder.Type.PHRASE_PREFIX)
.operator(MatchQueryBuilder.Operator.AND);

但是,这不会返回任何结果。

最佳答案

您可能需要multi_match with cross_fields,因为它更适合您的用例。

尚未尝试过代码(只是盲目编写),但它应该起作用或至少显示出总体思路:

 MultiMatchQueryBuilder match = QueryBuilders.multiMatchQuery(
text.toString(),
"username",
"firstname",
"lastname"
)
.type(MultiMatchQueryBuilder.Type.CROSS_FIELDS)
.operator(MatchQueryBuilder.Operator.AND);

关于elasticsearch - 多词查询中的多匹配搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32375125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com