gpt4 book ai didi

c# - Solrnet:当搜索字段值为查询运算符(eq. or, and)时出现问题

转载 作者:行者123 更新时间:2023-11-30 13:50:36 27 4
gpt4 key购买 nike

更准确地说,我将使用示例...

干净的查询是:(type:77 AND (zipCode:12345 OR name:OR))

在 Solr Admin 页面上查询时抛出异常:

org.apache.lucene.queryParser.ParseException: 无法解析...

所以在 Solr Admin 页面上我将查询更改为:

(类型:“77”和(邮政编码:“12345”或名称:“或”))

这是一个魅力

现在我在用 solrnet 做同样的事情时遇到了问题。我正在使用 SolrQueryByField 类进行查询。当我工作时

新的 SolrQueryByField("名称", "或")

我得到 Solrnet.Exceptions.InvalidFieldException,它与 Solr Admin 页面一致,但是当我使用

new SolrQueryByField("name", "\"OR\"")

我得到了错误的结果。通过检查网络流量,我发现 http get 请求是不同的(为简洁起见,只给出了 name 字段名称和值):

name%3A%22OR%22 => 来自 Solr 管理页面

name%3a%5c%22OR%5c%22 => 来自 solrnet

我的问题是:我应该如何防止 solrnet 添加 %5C(反斜杠)到查询字符串?

提前致谢

最佳答案

SolrQueryByField 生成引用/转义值。如果您有一些不希望这样做的特殊情况(例如这种情况),您可以使用 SolrQuery,例如:

Query.Field("type").Is(77) && (Query.Field("zipCode").Is("12345") || Query.Simple("name:\"OR\""))

关于c# - Solrnet:当搜索字段值为查询运算符(eq. or, and)时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6042259/

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