如何自动将MySQL数据库与solr同步

时间:2016-11-08 05:31:15

标签: php mysql codeigniter solr

我的数据库经常更新,我希望solr能够自动同步。

我有20多张表,但我希望我的搜索只能在2个表格中使用,而且只能在某些特定字段中使用。

我已经在solr中手动输入了一些数据并使用get api运行它。

http://127.0.0.1:8983/solr/gettingstarted/select?indent=on&q= &安培;重量= JSON

它完美无缺。

我们也可以做一些像我的' X'用户搜索某些内容并在另一个表格中检查,如果帖子是由' X'然后他的朋友只返回,否则不是我的意思是我们能获得有条件的数据吗?

请提供一些链接或资源或任何相关的参考或解决方案。

TIA

1 个答案:

答案 0 :(得分:0)

Solr中没有自动同步。您必须自己(通过常规POST界面)将更新发送给Solr,或者通过DataImportHandler触发deltaimport,如果这是您正在使用的。

对于您的第二种情况 - 答案取决于 - 但最直接的方法是在查询中包含有效用户名或user_ids的列表,然后根据该列表进行筛选(在var path = @"C:\MY FOLDER\data.txt"; var textA = "textA"; var textB = "textB"; // Check if file exists if (File.Exists(path)) { // Check if file is empty or not if (new FileInfo(path).Length == 0) { // If empty, write: File.AppendAllText(path, textA + Environment.NewLine); } else { // I not empty, write (appends text): File.AppendAllText(path, textB + Environment.NewLine); } } else { // If file not exist, create it and write File.AppendAllText(path, textA + Environment.NewLine); } 中。这受限于solrconfig中布尔子句的数量。