Solr不返回从MySQL索引的结果

Solr不返回从MySQL索引的结果,mysql,solr,Mysql,Solr,我在MySQL中有4行,我正在从管理控制台将它们索引到Solr中。导入成功执行,我收到消息“索引已完成。添加/更新:4个文档。删除0个文档。(持续时间:01s)” 接下来,当我试图从其中一行查询一些文本时,我没有得到任何结果。我没有更改任何用于查询的参数。这是日志文件中的条目: org.apache.solr.core.SolrCore;[collection1]webapp=/solr path=/select params={indent=true&q=LG&{uu=139795390608

我在MySQL中有4行,我正在从管理控制台将它们索引到Solr中。导入成功执行,我收到消息“索引已完成。添加/更新:4个文档。删除0个文档。(持续时间:01s)”

接下来,当我试图从其中一行查询一些文本时,我没有得到任何结果。我没有更改任何用于查询的参数。这是日志文件中的条目:

org.apache.solr.core.SolrCore;[collection1]webapp=/solr path=/select params={indent=true&q=LG&{uu=1397953906088&wt=json}hits=0 status=0 QTime=1

我已将配置文件更新为:

solrconfig.xml:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
    </lst>
</requestHandler>
<dataConfig>
  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/test" 
              user="root" 
              password=""/>
  <document>
    <entity name="id" 
            query="select id,name,descpt from sample">
    </entity>
  </document>
</dataConfig>
为什么我在查询LG时没有得到任何结果?我是Solr的新手,所以我可能错过了一些东西


谢谢。

如果您正在对索引的所有元素进行公共搜索。您应该使用copyField将它们索引到单个字段,然后将其注销

solr中有类似于复制字段的内容。复制字段可以将索引复制到公共字段。因此,如果您在该字段上查询,将搜索所有数据

您应该将复制字段定义为

<copyField source="id" dest="text"/>
<copyField source="name" dest="text"/>

这里dest代表目的地字段。。。检查solr发行版的默认查询字段是什么,并在目标中使用它

请检查schema.xml中的defaultsearchfield标记,它应该是

正文

对于这个特殊的情况

然后您可以在不指定特定字段的情况下搜索它

关于你的第二个疑问


“p”和“p”有区别。由于您将descpt用作字符串字段,因此它将与精确表达式匹配。因此,如果您搜索descpt:Phone,它将工作

意识到我需要查询“descpt:LG”。但现在,我有另一个问题。我还有一个条目“3,Phone,iPhone”,用于id,name,descpt列。现在,当我搜索descpt:phone时,我没有看到iPhone的条目。如何搜索部分匹配?因为“P”和“P”之间存在差异。由于您将descpt用作字符串字段,因此它将与精确表达式匹配。所以,如果你搜索descpt:Phone,它就会工作。
4, Television, LG
<copyField source="id" dest="text"/>
<copyField source="name" dest="text"/>