我开始与 Solr 集成,并且遇到了我认为的问题。我使用 java API 上传了一个简单的电子表格(这是一个尝试:
- Document, id, value
- Excel3, name, steelers
- Excel3, subject, pirates
- Excel3, description, penguins
- Excel3, comments, panthers
- Excel3, author, panthers
)
使用它,我使用第一列作为“文档名称”,第二列作为文档中要索引的字段,第三列作为索引数据。所有这些字段都已存在于 schema.xml 中,但它们的设置方式如下:
<field name="id" type="string" indexed="true" stored="true" required="true" />
<field name="name" type="text_general" indexed="true" stored="true"/>
<field name="subject" type="text_general" indexed="true" stored="true"/>
<field name="description" type="text_general" indexed="true" stored="true"/>
<field name="comments" type="text_general" indexed="true" stored="true"/>
<field name="author" type="text_general" indexed="true" stored="true"/>
现在这是我的问题发挥作用的地方。我搜索了钢人队,结果很好,但如果我寻找企鹅或许多其他领域,它不会拉回任何结果。但是,如果我做描述:企鹅,结果会按预期拉回。
谁能帮我理解为什么某些字段需要 : 之前的部分,而其他字段则不需要?
搜索示例:solr/select?indent=on&q=penguins&wt=xml ----不返回任何结果
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
<lst name="params">
<str name="indent">on</str>
<str name="q">penguins</str>
<str name="wt">xml</str>
</lst>
</lst>
<result name="response" numFound="0" start="0"/>
</response>
solr/select?indent=on&q=description:penguins&wt=xml
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">18</int>
<lst name="params">
<str name="indent">on</str>
<str name="q">description:penguins</str>
<str name="wt">xml</str>
</lst>
</lst>
<result name="response" numFound="1" start="0">
<doc>
<str name="author">panthers</str>
<str name="comments">panthers</str>
<str name="description">penguins</str>
<str name="id">Excel3</str>
<str name="name">steelers</str>
<str name="subject">pirates</str>
</doc>
</result>
</response>