Solr中的飞行场值计算

时间:2017-10-25 13:57:36

标签: solr

我在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> 字段。

有可能吗?帮助预期

2 个答案:

答案 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