这是我在Elasticsearch上的查询,
GET index101/_search
{
"query": {
"function_score": {
"boost_mode": "replace",
"query": {
"constant_score": {
"filter": {
"terms": {
"fields": ["767","434", "101", "222"]
}
}
}
},
"pqcode_score": {
"descriptors": [
{
"descriptor": "base64string"
}
],
"pqparams": {
"bucket_field": "fields",
"pqcode_field": "fields2",
"distance_function": "similarity",
"model": "random"
}
}
}
}
}
我查看了Elasticsearch的Java文档,但在Java中找不到任何可以解析此查询的内容。
我创建了一个JSON文件,并在jsonObject中获得了输入查询,然后将其作为参数传递给searchSourceBuilder.query(),但它给出了jsonObject无法转换为QueryBuilder的错误。
我们如何在Java中继续执行此查询?
是否有其他解决方法?
1条答案
按热度按时间q8l4jmvw1#
看起来
pqcode_score
是Elasticsearch查询中的自定义键,而您试图在Elasticsearch查询中添加自定义组件/构造,这是不可能的,因此您会收到错误。您需要在Elasticsearch查询中使用Elasticsearch支持的构造。