【问题标题】:Having an issue with diacritics and Solr Search变音符号和 Solr 搜索有问题
【发布时间】:2015-12-10 10:23:10
【问题描述】:

我正在使用 dot NET MVC 应用程序和 Apache Solr。我有两个字段索引到 Solr,一个是名称,第二个是类别。我已经用这种编码方法在 Name 和 Category 字段中索引了一些变音符号。

HttpUtility.UrlEncode()

我用编码索引它的原因是我想用 Facets 显示类别。

因此,所有这些值都以编码形式索引到 Solr。现在,在搜索过程中,我正在对 searchterm 进行编码,然后将其搜索到 Solr 中,它会给我结果。

但问题是,如果我在不使用变音符号的情况下搜索同一个单词,它不会给我任何结果,因为该单词是以编码形式存储的。

有没有办法解决这个问题?

【问题讨论】:

    标签: c# .net solr


    【解决方案1】:

    创建一个新字段 category_norm 并向其中添加规范化分析器链(我认为示例架构中有一个用于文本),然后使用 copyField 自动将内容从您的 category 复制到新字段中.

    或者你可以把它转过来并引入category_facet 用于与原始值进行分面,并让字段name 具有搜索版本,再次使用copyField 来保持它们同步。

    【讨论】:

    • 我已经复制了文本类型的字段。但它会复制与默认字段中相同的值。例如,prótese 在主字段和复制字段中的编码如下:pr%c3%b3tese 后被索引。现在我无法使用 Protese 词进行搜索。
    • 你看过我之前的评论了吗?
    猜你喜欢
    • 1970-01-01
    • 2011-12-12
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 2011-12-09
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多