gpt4 book ai didi

solr - Apache Solr 扩展 DisMax 参数的 Spring Data

转载 作者:行者123 更新时间:2023-12-01 13:55:10 26 4
gpt4 key购买 nike

我正在尝试在 Spring Data Solr 生成的 Solr 查询中添加以下参数 (qf,bq)。

Solr参数是:

qf => Spring Data Solr Method?
bq => Spring Data Solr Method?

我能够找到以下方法
fq => addFilterQuery
fl => addProjectionOnField
defType => setDefType
qt => setRequestHandler

我看到一个 Unresolved 问题 qf https://jira.spring.io/browse/DATASOLR-153

如何将 qf 和 bq 参数添加到使用 Spring Data Solr 构建的 Solr 查询。

谢谢

最佳答案

您可以使用 SolrCallback在模板级别访问 SolrClient并从那里执行查询或注册您自己的 QueryParser对于自定义查询类型。

也许是这样的:

@Bean
public SolrTemplate solrTemplate(SolrClient client) {

SolrTemplate template = new SolrTemplate(client);
template.registerQueryParser(EdismaxQuery.class, new EdisMaxQueryParser());
return template;
}

class EdismaxQuery extends SimpleQuery {
// ... add stuff you need. Maybe `autoRelax`
}

class EdisMaxQueryParser extends QueryParserBase<EdismaxQuery> {

DefaultQueryParser defaultQueryParser = new DefaultQueryParser();

@Override
public SolrQuery doConstructSolrQuery(EdismaxQuery source) {

// just use the default parser to construct the query string in first place.
SolrQuery target = defaultQueryParser.constructSolrQuery(source);

// add missing parameters
target.add("defType", "edismax");
target.add("qf", source....);

return target;
}
}

关于solr - Apache Solr 扩展 DisMax 参数的 Spring Data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42842541/

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