我正在使用香蕉仪表板为Solr索引数据生成非时间序列仪表板。索引数据中的“ San Francisco
”字段在香蕉仪表板构面小部件中无法正确显示,其名称如“ New York
,“ San
”显示为“ {{1}” }”和“ Francisco
”和“ New
”和“ York
”。
但是,当我交叉检查Solr查询结果时,这些字段会正确显示为单个实体“旧金山”和“纽约”。
在Solr核心中, managed-schema.xml 文件具有以下条目:
<field name="content" type="opennlp-en-tokenization" indexed="true" stored="true" multiValued="true"/>
<field name="person" type="text_general" indexed="true" stored="true" multiValued="true"/>
<field name="organization" type="text_general" indexed="true" stored="true" multiValued="true"/>
<field name="location" type="text_general" indexed="true" stored="true" multiValued="true"/>
知道我可能要去哪里了吗?
香蕉仪表板的位置名称将空间错误地标记为两个不同的位置
答案 0 :(得分:1)
您的位置字段将text_general作为其标记程序。这会将输入分为多个标记,最终得到您显示的结果。
将其更改为字符串字段或使用KeywordTokenizer(如果需要以任何方式处理它)。如果您仍希望能够使用该字段进行搜索而不必完全匹配,则将另一个字段定义为字符串字段并在其上进行构面,然后使用copyField将内容复制到两个字段中。
原因是,构面使用令牌来生成计数,而不是使用存储的文本来生成字段(这是查询文档时看到的内容) 。令牌不是直接可见的(..除了在构面或检索术语时除外),但是可以在Solr Admin的“分析”页面下看到内容的处理方式以及输入的令牌的内容。