Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该使用哪种SOLR实现方法;3个问题?_Java_Php_Mysql_Solr - Fatal编程技术网

Java 我应该使用哪种SOLR实现方法;3个问题?

Java 我应该使用哪种SOLR实现方法;3个问题?,java,php,mysql,solr,Java,Php,Mysql,Solr,我有一个分类广告网站,我现在正试图将SOLR整合到其中,所以搜索变得更快 我目前使用Mysql作为我所有记录的数据库,我使用PHP查询并显示结果 我有三个主要问题: 如果我要实现SOLR,那么标准的实现方式是什么 而且,我不明白我是否应该在每次发布/更新/更改新分类时更新SOLR索引,或者每12小时左右对它们进行一次索引 我应该使用SOLR查找分类广告的ID,然后在mysql中获取记录,还是只使用SOLR 我需要一些关于如何前进的例子和建议,有点被困在这个问题上 我读了一些关于如何在PHP中使用

我有一个分类广告网站,我现在正试图将SOLR整合到其中,所以搜索变得更快

我目前使用Mysql作为我所有记录的数据库,我使用PHP查询并显示结果

我有三个主要问题: 如果我要实现SOLR,那么标准的实现方式是什么

而且,我不明白我是否应该在每次发布/更新/更改新分类时更新SOLR索引,或者每12小时左右对它们进行一次索引

我应该使用SOLR查找分类广告的ID,然后在mysql中获取记录,还是只使用SOLR

我需要一些关于如何前进的例子和建议,有点被困在这个问题上

我读了一些关于如何在PHP中使用SOLR的文章。。。但是还没有找到任何关于DataImportHandler的好文章,如果这是我需要的

谢谢

如果我要实现SOLR,那么 标准的做法

使用Solr的标准方法是将其配置为一个单独的web应用程序,在您最喜欢的web应用程序容器的实例中运行(建议使用Jetty,并且可能存在一些与Resin不兼容的问题)。您可以通过它的HTTP接口与它通信,可以使用SolrJ之类的库或提供的JAR文件进行编程,也可以直接使用
curl
或web浏览器

首先,我建议阅读,这是Solr1.3版的,但大部分内容仍然相关

而且,我还不明白我是否应该这样做 每次更新新的SOLR索引时更新SOLR索引 已发布/或 更新/更改,或在 大约每12小时一次

您可以在文档过帐后立即添加文档。Solr将首先将它们写入内存,然后,根据您的配置设置,在经过一定时间后或在挂起一定数量的文档后,它会将它们“提交”到磁盘上的索引中。您还可以配置索引优化的频率,这是一项压缩磁盘索引的昂贵操作

我应该使用SOLR来查找的ID吗 然后获取分类广告 在mysql中记录,还是仅使用 索尔

如果您的数据很小(按总大小,而不是单个大小),您可以将其全部放入Solr中,但随着数据变大,您可能希望使用混合解决方案,其中Solr只保存索引值,MySQL用于存储的数据

但是没有找到好文章 关于DataImportHandler,如果是 我需要的

如果您想将MySQL数据导出到Solr中,请使用(注意,这里的csv实际上可以是任何平面文件格式,就像MySQL生成的那样)

编辑:作为对您评论的回应,我以前没有研究过
DataImportHandler
s,但是阅读Solr手册中的,这似乎对于直接从数据库导入数据很有用(一次导入或周期性增量)当您有一个需要保留的完整模式时,我想说,如果需要索引的数据是单个表中的几个字段,请使用
CSVRequestHandler
,因为它非常简单,不需要进行配置,但是如果您有一组表,它们之间有关系,则需要将所有数据放入其中索引,然后您应该查看
DataImportHandler


编辑2:任何可以发出HTTP请求的东西都可以更新Solr,但这里有一个关于谷歌代码的项目的例子,该项目提供了Solr客户端的PHP实现。我自己没有使用过它。

嗨,丹本……回答得很好!我想知道,我甚至需要查看DataImportHandler吗?它们什么时候使用?谢谢!@Camran:谢谢感谢您接受,但您为什么要删除upvote?我没有,我无意中单击了它,然后我无法将其更改回…我将尝试使用另一个浏览器!很抱歉…它说我现在无法更改投票,太旧而无法更改…如果您可以编辑您的答案并添加一些文本,我将再次对其进行upvote操作(如果可能的话)!也许您可以回答以下问题:你有PHP更新SOLR索引的示例代码吗?好了,现在成功了!再次感谢danben,非常有用!