【问题标题】:Solr query- How to remove all special-characters logical interpretation?Solr 查询 - 如何删除所有特殊字符的逻辑解释?
【发布时间】:2017-03-15 15:57:24
【问题描述】:

这与从输入字符串中删除所有特殊字符略有不同。我只想要它们原样。例如:

查询:哈哈 AND LaLa 将被标记为

1. Haha
2. And
3. LaLa

不是

1. Haha
2. LaLa

同样的逻辑,一个特殊字符的输入例如:

`! , . : ; OR NOT < >` 

将是......他们自己(不是逻辑构造函数,如果数据库中存在这样的名称,查询将返回结果)

【问题讨论】:

    标签: solr special-characters


    【解决方案1】:

    您可以使用字段或原始查询解析器搜索您输入的查询字符串,而无需任何分析或转换。

    q = {!field f='title'} Haha AND LaLa
    

    [调试响应]

    <lst name="debug">
    <str name="rawquerystring">{!field f='title'}Haha AND LaLa</str>
    <str name="querystring">{!field f='title'}Haha AND LaLa</str>
    <str name="parsedquery">title:Haha AND LaLa</str>
    <str name="parsedquery_toString">title:Haha AND LaLa</str>
    <str name="QParser"/>
    </lst>
    

    从 Solr 的回复中可以看出,正在寻找包含“哈哈和拉拉”的文档。 字段查询解析器将“AND”视为搜索关键字而不是逻辑运算符。

    【讨论】:

    • 这很有用,但与查询端有关。问题更多是关于指数方面的。您能否更新答案以提供这两个方面以使其普遍有用。
    猜你喜欢
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多