0

我在 drupal 中使用 apachesolr 模块
我创建了一个自定义方面字段主题,但在 drupal 方面块中,句子在多行/结果中中断,
例如主题分析化学将是
<int name="analyt">1</int>
<int name="chemistri">1</int>

我有表journal、subject、subject_journal 和article
我的数据配置文件有实体

<entity name="subject" pk="id"
                    query="select s.id, s.title from subject s
                            join subject_journal sj on sj.subject_id = s.id
                            join article a on a.journal_id = sj.journal_id
                            where sj.journal_id = '${article.journal_id}' 
                            group by s.id, s.title">
                    <field column="id" name="subject_id" /> 
                    <field column="title" name="subject" />                         
        </entity>

请帮忙
谢谢

4

1 回答 1

1

您似乎正在对您的方面领域进行分析。

一般方面字段详细信息 -

分面字段通常被指定用于两个目的,人类可读的文本和向下钻取查询值,它们的索引通常与用于搜索和排序的字段不同:

它们通常不会被标记为单独的单词 它们通常不会映射为小写 人类可读的标点符号通常不会被删除(除了双引号) 通常不需要存储它们,因为存储的值看起来很像索引值和分面机制用于价值检索。

您应该为 facet 字段维护一个单独的副本,并且不对它执行任何分析,并将其用作 facet 字段。

<field name="subject" type="text_general" indexed="true" stored="true" multiValued="true"/>
<!-- Maintain different facet field -->
<field name="subject_facet" type="string" indexed="true" stored="true" multiValued="true"/>

<!-- copy field -->
<copyField source="subject" dest="subject_facet"/>
于 2011-10-12T11:21:33.900 回答