2012-12-05 47 views
0

我是Solr & Elasticsearch的新手。我有一个使用MYSQL作为数据库用PHP编写的Web应用程序。我有5列包含文本数据。我想索引并在这5列上应用搜索(来自Elasticsearch/Solr)。我做了很多谷歌,并没有得到它。Elasticsearch或Solr + Mysql表格搜索

例如:

1)我有5列,标题,描述,评论,评论,其他。 2)用户访问http://www.my_site.com并输入他/她的搜索查询 3)现在我希望我的应用程序按照(1)中所述搜索所有列并返回结果。

(MySQL支持搜索跨越多个列,但它不是完整的,就像“SQL_LIKE”我要像在电子商务网站中所使用的的搜索引擎)

请帮帮忙!

感谢, Abhiram

+0

显示您已经尝试过的代码,以及您出错的地方请 – Chris

+0

为了让人们能够提供帮助,您应该发布您到目前为止所尝试的内容 –

+0

这就是我如何获得最基本的东西并运行。谢谢@dadoonet。 (0)已安装JDBC River插件(1)启动elasticsearch服务器(2)使用curl -GET'localhocurl -XPUT'localhost:9200/_river/my_jdbc_river/_meta'-d'{... “index:{ ”index“:”jdbc“, ”type“:”jdbc“ } }'(3)在PHP中写入一个简单的JSON解析器:$ input =”http:// localhost:9200/jdbc/jdbc/_search?pretty&q = *“。 $ _GET [“q”]。“*”; \t $ JSON = file_get_contents($ input); \t $ values = json_decode($ JSON,true); [希望我是对的,请纠正我,如果我是错] –

回答

1

首先,你必须索引文件(又名行从您的例子)。 如果你的数据是在MySQL中,我建议你使用:

启动Elasticsearch,添加河边,并开始搜索。

您可以看看Elastica的PHP客户端。

+0

这是我如何得到基本的东西和运行。谢谢@dadoonet。 (0)已安装JDBC River插件(1)启动elasticsearch服务器(2)使用curl -GET'localhocurl -XPUT'localhost:9200/_river/my_jdbc_river/_meta'-d'{... “index:{ ”index“:”jdbc“, ”type“:”jdbc“ } }'(3)在PHP中写入一个简单的JSON解析器:$ input =”http:// localhost:9200/jdbc/jdbc/_search?pretty&q = *“。 $ _GET [“q”]。“*”; \t $ JSON = file_get_contents($ input); \t $ values = json_decode($ JSON,true); [希望我是对的,请纠正我,如果我错了] –

+0

听起来不错。 – dadoonet

+0

我会说,请不要提供一些链接来进一步RnD,除非你有具体的例子分享或信息是真正有意义的。搜索链接/信息很容易。 – shaILU