【问题标题】:In Solr, How to Fuzzy search and Range search in Phrase在 Solr 中,如何在 Phrase 中进行模糊搜索和范围搜索
【发布时间】:2015-01-22 16:50:14
【问题描述】:

全部:

我想做的是:

在 SOLR 中搜索包含以下短语的文档:

Episode A-1, Episode A-2,  Episode A-3...
Episode B-1, Episode B-2,  Episode B-3...
.......
Episode Z-1, Episode Z-2,  Episode Z-3...

每个剧集的数量范围可以变化,有时剧集可能是剧集。

所以我想知道: 如果我想做一个短语搜索,我该如何使用一些模糊搜索,比如

"Episode[s]? [A-Z]{1}-\d+"

(我不确定这个正则表达式是否正确,但这基本上是我的想法)在正则表达式中?我认为这将涉及像 Episode[s] 和范围搜索 [A-Z] 和 [1-9] 这样的模糊搜索。

谢谢

【问题讨论】:

    标签: solr fuzzy-search


    【解决方案1】:

    Solr 4 支持正则表达式查询。更多详情见http://www.openjems.com/solr-regex-tutorial/

    这样的事情应该可以工作:

    fieldName:/Episodes? [A-Z]-[1-9][0-9]{0,}/

    【讨论】:

    • 感谢您的帮助。我尝试了一个更简单的示例,我只存储了 3 个文档:Ep A-1、ep A-2、Ep B-1。我使用 /[Ee]p [AB]-[12]/ ,但它不起作用,你能帮我解决这个问题吗?
    • 您需要确保字段未标记化并存储为字符串。尝试将debug=true 添加到请求中以获取调试信息,这应该可以帮助您找出问题所在。
    • 所以你的意思是我需要在 schema.xml 中配置 title 字段来设置它的 indexed="false"?
    猜你喜欢
    • 2013-05-15
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多