Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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文档的问题以及其他问题_Java_Mysql_Database_Search_Solr - Fatal编程技术网

Java 关于SOLR文档的问题以及其他问题

Java 关于SOLR文档的问题以及其他问题,java,mysql,database,search,solr,Java,Mysql,Database,Search,Solr,网站:分类广告网站(用户可投放广告、搜索广告等) 我计划使用SOLR进行搜索,然后仅以ID nr:s的形式返回结果,然后使用那些ID nr:s和query mysql,最后显示那些ID:s的结果 目前我在MySQL中有大约30个表,每个类别一个表 1-你认为我应该做的和上面不同吗 2-我应该只使用一个SOLR文档,还是使用多个文档?另外,文档是否与SOLR索引相同 3-如果知道每个表中有很多列,那么只使用SOLR和跳过MySQL会更好吗?就个人而言,我比SOLR更擅长使用MySQL 4-假设用户

网站:分类广告网站(用户可投放广告、搜索广告等)

我计划使用SOLR进行搜索,然后仅以ID nr:s的形式返回结果,然后使用那些ID nr:s和query mysql,最后显示那些ID:s的结果

目前我在MySQL中有大约30个表,每个类别一个表

1-你认为我应该做的和上面不同吗

2-我应该只使用一个SOLR文档,还是使用多个文档?另外,文档是否与SOLR索引相同

3-如果知道每个表中有很多列,那么只使用SOLR和跳过MySQL会更好吗?就个人而言,我比SOLR更擅长使用MySQL

4-假设用户想要在特定区域搜索汽车,那么这种查询是如何在SOLR中执行/完成的?例如:
q=cars®ion=washington
可能吗

您可能认为有很多关于SOLR的信息,但是没有,特别是关于将PHP与SOLR和SOLR PHP客户端一起使用的信息。。。也许我会写一些东西,当我学会了这一切。。。或者你们中的一个可以写点东西


再次感谢所有帮助…

首先,定义:Solr/Lucene文档大致相当于数据库行。索引与数据库表大致相同

我建议尝试将所有机密相关信息存储在Solr中。查询Solr然后查询数据库是低效的,很可能是不必要的

在特定区域中查询类似于
q=cars+region:washington
假设您在Solr中有一个
region
字段

该网站拥有大量的好信息和丰富的经验。当然,这总是可以改进的,所以如果您发现任何不清楚的地方,请让Solr团队知道


我不能评论PHP客户端,因为我不使用PHP。

Solr将使用SimpleXml以易于解析的语法返回它的结果。您还可以使用SolPHP客户端库:

Solr真的很有效率。我建议将尽可能多的数据放入Solr索引中,以便从Solr一次检索所有内容。这可能意味着您的数据库流量要少得多

如果您已经安装了示例Solr应用程序(Jetty附带),那么您可以使用管理界面开发Solr查询。结果的URI与您在PHP中构建的内容非常相似

开始使用Solr时,最困难的部分是正确获取solrconfig.xml和schema.xml文件。我建议从一个非常基本的配置开始,并在每次添加字段时重新启动web应用程序。从整个schema.xml开始可能会令人困惑

2-我应该只使用一个SOLR文档,还是使用多个文档?另外,文档是否为 与SOLR索引相同

3-如果我知道我有很多资源,那么只使用SOLR和跳过MySQL会更好吗 每个表中的列?就个人而言,我比SOLR更擅长使用MySQL

文档是solr索引的“实例”。考虑到每个solr核心只能构建一个solr索引。核心充当同一solr安装中的独立solr服务器

Yo可以构建一个索引,合并一些表内容和一些其他索引以执行二级搜索


您是否会提供有关您的体系结构和数据的更多详细信息???

正如其他人建议的那样,您可以存储和索引您的mysql数据,并可以在solr index中运行查询,从而使mysql不再需要使用。 您不需要只存储和索引id、查询和获取id,然后运行mysql查询来获取该id的其他数据。您只需在solr本身中存储与id对应的其他数据

关于SolrPHP客户端,则不需要使用,建议直接使用REST,如SolrWebAPI。您可以使用PHP函数,如
file\u get\u contents(“http://IP:port/solr/#/core/select?q=query&start=0&rows=100&wt=json“”
或在需要时将curl与PHP结合使用。这两种方法几乎是一样的,而且效率很高。这将返回json格式的数据,格式为
wt=json
。然后使用PHP函数
json\u decode($returned\u data)
在对象中获取该数据

如果您需要询问任何问题,只需回答。

文档不是Solr索引的实例。