2016-04-05 33 views
1

我在表格(超过4lc行)上有非常大的数据。现在我正在使用mysql全文搜索,但它非常慢。如何在elasticsearch中进行全文搜索

我谷歌和发现了许多博客,其建议使用弹性搜索进行搜索。 我们正在测试弹性搜索是否有助于快速搜索。

,但我们得到相反的结果(MySQL的更好的搜索),但如果我用正确的方式弹性搜索我对此表示怀疑。我用弹性搜索查询是: -

{ 
"query" : { 
    "bool" : { 
     "must" : { 
      "query_string" : { 
       "query" : "goog*", 
       "default_field" : "search" 
      } 
     } 
    } 
}, 
"size" : 1000 
} 

对于同样的搜索在我们使用

SELECT SQL_NO_CACHE * FROM table1 WHERE (MATCH (search) AGAINST (' +goog*' IN BOOLEAN MODE)) 

MySQL的我得到的时间差异: - 弹性时间= 0.34929585456848

mysql的时间= 0.02162504196167

任何暗示我错了我的建议我将非常感谢

+0

什么4LC是什么意思? – NimChimpsky

+0

@NimChimpsky约4 lac – Ashwani

+0

4 lac是什么意思? – NimChimpsky

回答

3

查询的第一个原因是有些慢是因为你使用通配符搜索时...

https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html

https://www.elastic.co/guide/en/elasticsearch/guide/current/search-in-depth.html

我会建议你考虑弹性搜索映射,分析器来获得弹性搜索的好处,您将需要正确地为您的数据建立索引,并应用正确的一组查询...

Filename search with ElasticSearch

这是有点高级的例子只是说明如何实现在文件中的词与词之间的搜索..

如何使你的数据进行索引也可以影响搜索查询时间和查询本身这您将使用..

你可以在这里注册,并考虑对不同类型的仅弹性人提供查询的短片..

https://www.elastic.co/webinars/elasticsearch-query-dsl

你不能决定哪一个是没有适当的analysis..that更好了弹性搜索其中的数据影响了很多索引..

+0

请检查http://stackoverflow.com/questions/36457568/full-text-searching-elasticticsearch @anirudh – Ashwani

相关问题