【问题标题】:Exact word search in SolrSolr 中的精确单词搜索
【发布时间】:2011-06-21 16:14:49
【问题描述】:

我有一个与this question 密切相关的问题。

在我的架构中,我有一个字段

<field name="text" type="textgen" indexed="true" stored="true" required="true"/>

这给出了完全匹配,即。词干禁用

吃=吃

是否可以,同时配置为 textgen 以搜索单词的其他变体

例如。吃=吃,吃,吃

eat~0 会给出类似的发音词,例如肉、节拍等,但这不是我想要的。

我开始认为实现这一点的唯一方法是添加另一个字段,而不是 textgen,但如果有更简单的方法,我很想听听。

【问题讨论】:

    标签: search lucene solr stemming


    【解决方案1】:

    使用copyfield 语句是Solr 中的常规方法。由于stemming 正是您所要求的答案,因此我建议您使用它。如果您担心索引大小,可以设置stored=false

    您也可以使用lemmatisation,这与词干提取相反 - 您可以添加一个词的所有变形形式。这通常在搜索查询上执行,例如扩展 eateat, eats, eating 等。

    第三种选择可能是使用通配符搜索,尽管我不鼓励这样做。尤其是因为它绕过了目标字段的所有模式配置过滤器。

    【讨论】:

      【解决方案2】:

      如果您使用text 作为字段类型,那么eat、eats、eed 和eating 都将存储为eat,搜索FieldName:eat 将找到所有这些。如果您将字段类型更改为text-gen,则搜索FieldName:eat 只会找到“吃”,而不是吃、吃或吃。

      【讨论】:

        猜你喜欢
        • 2011-02-07
        • 2012-01-05
        • 1970-01-01
        • 2014-06-09
        • 2013-01-20
        • 1970-01-01
        • 2017-10-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多