【发布时间】:2019-06-17 09:29:12
【问题描述】:
我正在为 solr 核心中的文档编制索引,但有些文档没有编制索引。我不知道为什么这些没有索引。
当我索引一个字符串,然后是字符串的标记时, 那么只有标记被索引但整个文本不是 索引。而如果我以相反的顺序索引:首先是文本的标记,然后是文本,那么文本将是索引..
当我在索引文档时
{"detected_language":"hi","searchstring":"कपड़ा धोने की
मशीन","translated_text":"washing machine"},
{"detected_language":"hi","searchstring":"कपड़ा","translated_text":"
"},
{"detected_language":"hi","searchstring":"धोने","translated_text":"
"},
{"detected_language":"hi","searchstring":"की","translated_text":"
"},
{"detected_language":"hi","searchstring":"मशीन","translated_text":"
"}
那么只有 4 个文档在 solr 核心中被索引,而不是 5 个文档。而这4个文件是{कपड़ा ,धोने ,की,मशीन}。
但是当我像这样进行索引时:
{"detected_language":"hi","searchstring":"कपड़ा","translated_text":"
"},
{"detected_language":"hi","searchstring":"धोने","translated_text":"
"},
{"detected_language":"hi","searchstring":"की","translated_text":"
"},
{"detected_language":"hi","searchstring":"मशीन","translated_text":"
"},
{"detected_language":"hi","searchstring":"कपड़ा धोने की
मशीन","translated_text":"washing machine"}
然后所有 5 个文档都将被索引。
我使用过这些字段:
<field name="searchstring" type="string_hi" indexed="true"
stored="true" required="true" omitNorms="true" multiValued="false"
/>
<field name="detected_language" type="string" indexed="true"
stored="true" omitNorms="true" multiValued="false"/>
<field name="translated_text" type="string" indexed="true"
stored="true" omitNorms="true" multiValued="false"/>
搜索字符串的字段类型为:
<fieldType name="string_hi" class="solr.TextField" positionIncrementGap="100">
<analyzer type="query">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
</analyzer>
</fieldType>
我希望所有的搜索字符串都是索引..
【问题讨论】:
-
您的
uniqueKey字段是什么?我最初的猜测是您已将uniqueKey字段设置为已分析的字段类型,因此两个字符串中的कपड़ा最终会覆盖前一个。 -
uniqueKey 是搜索字符串。
标签: solr