我在Solr manaed-schema中定义了10个文件,其中有两个如下:
isBookmarked
现在,如果'true' OR'false'
在动态查询时传递了某个值,我想将bookmarkedPathologists
值设置为isBookmarked
。
发布我正在排序<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form action="/api/receiver" method="post" enctype="multipart/form-data">
<p>
Company Id:<br />
<input type="text" value="725" name="companyId" />
</p>
<p>
Input Form Data:<br />
<textarea name="inputFormData" rows="10" cols="50">
</textarea>
</p>
<p>
Completed Agreement:<br />
<input type="file" name="completedAgreement" />
</p>
<p>
<input type="submit" value="submit" />
</p>
</form>
</body>
</html>
字段。
有可能吗?帮助预期
答案 0 :(得分:1)
我挣扎了很多,最后运气好,用以下可能的解决方案来解决我的问题。 在运行时,更新的更改需要在获取排序结果之前提交给Solr,因此我的应用程序是Solr Client,无法获得更新/脏值以进行排序(如果有)。
所以我在我的Filter Query
条件Simple Query
中添加了* exists(query({!v='bookmarkedPathologists:patho'}))
:将使用名为的新动态创建字段过滤我的所有(*)结果(查询) ({!v =&#39; bookmarkedPathologists:patho&#39;}))在JSON响应中如下: -
:
:
"isBookmarked": false,
"bookmarkedPathologists": [
"patho1"
],
:
:
"_version_": 1582235372763480000,
"exists(query({!v='bookmarkedPathologists:patho'}))": false
发布我只是将排序顺序放在同一位置,即存在(查询({!v =&#39; bookmarkedPathologists:patho&#39;}))为exists(query({!v='bookmarkedPathologists:patho'})) asc
< / p>
所以Solr通过返回已排序的响应(查询({!v =&#39; bookmarkedPathologists:patho&#39;}))。
Solr Function Query帮助了我Function Queries
答案 1 :(得分:0)
据我了解,您希望在查询字段时更新字段。 用java语言编写的SOLR和与SOLR的接口是使用REST类服务完成的。
搜索服务正在进行:
/solr/<CollectionName>/select
更新服务已开启:
/solr/update
所以你不能同时使用相同的查询。 但是您想要在外部更新(使用其他查询),然后refer。