【问题标题】:Duplicates terms on solr index在 solr 索引上重复项
【发布时间】:2013-05-15 15:52:15
【问题描述】:

我怀疑即使我很努力也无法回答自己。

我认为是理解的问题。

所以...

  • 我正在尝试索引一个长文本字段(产品描述),其中可能包含重复的单词。假设我们在谈论一种风味,我们说巧克力,然后继续说下去,然后又是巧克力。

  • 当 solr 进行索引时,(据我了解 solr 控制面板中的分析选项卡),它将创建一个术语(它们是“指针”,每个术语 -> 关联到一个 uniqueKey 属性我们拥有的每个令牌的“项目”)。

solr 索引是否会有两个术语指向同一个项目?

这是我的文本分析器:

<analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.GermanNormalizationFilterFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_de.txt" enablePositionIncrements="true" />
    <filter class="solr.EnglishPossessiveFilterFactory"/>
    <filter class="solr.EnglishMinimalStemFilterFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" enablePositionIncrements="true" />
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>

我虽然删除了重复条目,但是当我查看分析时发现:

就我不了解 solr 而言,最后,在我的索引中,会有这三个术语指向那个“项目”:巧克力、blablabla 和巧克力。是这样吗?

我希望问题很清楚:)

谢谢!

【问题讨论】:

    标签: solr


    【解决方案1】:

    您在 Analysis 之后看到的,是在将文本索引到 Solr 之前。当您实际索引它时,它只存储每个术语一次,并以 (document_id, position) 的形式保存该术语的所有出现。

    希望下面的例子更清楚。

    假设您想在 Solr 上添加以下三个文档:

    T[0] = "dark chocolate is the best chocolate"
    
    T[1] = "i love dark chocolate"
    
    T[2] = "chocolate is delicious"
    

    Solr 将按如下方式存储在倒排索引中:

    "最佳": {(T[0], position)}

    “巧克力”: {(T[0], position1), (T[0], position2), (T[1], position), (T[2], position) }

    “黑暗”: {(T[0], position), (T[1], position)}

    “美味”: {(T[2], position)}

    "i": {(T[1], 位置)}

    "是": {(T[0], position), (T[1], position)}

    “爱”: {(T[0], position)}

    "the": {(T[0], position)}

    注意:

    • 位置存储term在文档中的起始偏移量和结束偏移量
    • chocolate 术语在索引中存储一次,但有两次对文档 T[0]
    • 的引用

    【讨论】:

    • 太棒了!这正是我需要知道的。非常清晰简洁的答案,非常感谢:) 它真的让我明白了这个概念。
    • 你好@Aujasvi Chitkara。也许你也可以在这个问题上帮助我? stackoverflow.com/q/16585512/1958948
    • @avcajaraville 哈哈...好像你得到了答案。让我知道您是否需要任何帮助...谢谢
    • 你好@Aujasvi Chitkara 我还有一个关于 solr 的问题......这东西让我死了! :-D 你能看看,可以帮助我吗?非常感谢 ! stackoverflow.com/q/16914222/1958948
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 2013-01-27
    • 1970-01-01
    • 2011-09-28
    相关资源
    最近更新 更多