我执行完全导入,我得到以下命令的以下响应 this one
但是当我运行以下代码段时 公共课SolrJSearcher {
public static void main(String[] args) throws SolrServerException, IOException {
SolrClient solr = new HttpSolrClient("http://localhost:8983/solr/karan");
SolrQuery query = new SolrQuery();
query.set("q", "karan");
QueryResponse response = solr.query(query);
SolrDocumentList results = response.getResults();
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
}
}
即使有两行,我也没有得到任何结果。如果我将q更改为:我得到两个没有名称karan的结果。你能澄清一下这里出了什么问题如果我试试在具有相同更改的示例项目techproducts中,我得到了预期的结果。 solrconfig.xml中
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
数据-config.xml中
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/greed"
user="root"
password="kalkoti"/>
<document>
<entity name="id"
query="select id,name from testing">
</entity>
</document>
</dataConfig>
我用karan创建了集合 solr create -c karan
完全导入的回复
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">12</int>
</lst>
<lst name="initArgs">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</lst>
<str name="command">full-import</str>
<str name="status">idle</str>
<str name="importResponse"/>
<lst name="statusMessages">
<str name="Total Requests made to DataSource">1</str>
<str name="Total Rows Fetched">2</str>
<str name="Total Documents Processed">2</str>
<str name="Total Documents Skipped">0</str>
<str name="Full Dump Started">2015-07-06 13:55:26</str>
<str name="">
Indexing completed. Added/Updated: 2 documents. Deleted 0 documents.
</str>
<str name="Committed">2015-07-06 13:55:26</str>
<str name="Time taken">0:0:0.431</str>
</lst>
</response>
答案 0 :(得分:0)
您没有在data-config.xml文件中指定应写入哪些字段。见https://cwiki.apache.org/confluence/display/solr/Uploading+Structured+Data+Store+Data+with+the+Data+Import+Handler
您尚未向我们提供完整的schema.xml或solrconfig.xml文件,因此很难确切地告诉您该做什么,但Solr使用 select 请求处理程序作为默认值,使用文本字段作为默认搜索字段。这意味着您需要将包含术语karan的数据库列映射到文本字段。