我尝试使用solr索引数据。在managment-shema中,我将字段多值定义为false,因此当我发布数据时,我会收到错误消息multiple values encountered for non multiValued field
。
所以我想了解的是solr如何检测多值字段,例如:如果我有这个短语aa bb cc dd
并且我想将其索引/存储为单个值,为什么solr拒绝它。
我还在管理控制台中使用Analysis进行了一些测试,我发现如果短语包含:' ,' ' '或者' /' solr认为它是多个值,所以我猜有一个文件,它定义了solr如何检测多个值。
提前谢谢你
的修改
以下是导致问题的字段,来自我的托管文章:
<field name="name" type="text_general" indexed="true" stored="true" .multiValued="false"/>
答案 0 :(得分:0)
您似乎混淆了多值字段和文本标记化过程。
多值字段是指客户端向Solr提供值列表。它们被视为不同的并以数组结构返回。
Admin UI的分析屏幕显示了令牌化过程,这是使搜索引擎工作的原因。字段已存储(原始)表示以及索引表示。索引的(如分析UI所示)是处理版本以启用快速搜索。
因此,如果作为字符串发送到text_general字段,值“aa bb cc dd”将存储为一个值,但索引为标记 aa , bb , cc 和 dd ,然后您可以搜索 cc 并找到它。