我的数据库经常更新,我希望solr能够自动同步。
我有20多张表,但我希望我的搜索只能在2个表格中使用,而且只能在某些特定字段中使用。
我已经在solr中手动输入了一些数据并使用get api运行它。
http://127.0.0.1:8983/solr/gettingstarted/select?indent=on&q= :&安培;重量= JSON
它完美无缺。
我们也可以做一些像我的' X'用户搜索某些内容并在另一个表格中检查,如果帖子是由' X'然后他的朋友只返回,否则不是我的意思是我们能获得有条件的数据吗?
请提供一些链接或资源或任何相关的参考或解决方案。
TIA
答案 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中布尔子句的数量。