在Solr中修剪空格和忽略哈希标志

时间:2016-06-20 20:16:46

标签: java php mysql solr

我是索尔的新手,我面临着“修剪空白”和“忽略哈希标志”的问题。

例如,如果我的数据库中有以下结果:

"Red Blue abc",  
"abc RedBlue",  
"Red abc Blue",  
"Red abc",  
"Blue abc" 

现在如果搜索“RedBlue”我得到了以上所有内容但是如果搜索“Red Blue”,我将无法检索到上述所有结果。有些人被遗漏了。哈希标志也有同样的问题。如果我搜索“红色#蓝色”,我也面临同样的问题。

先谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用MySQL的FULLTEXT功能:

  1. 在表格上创建索引:

    CREATE FULLTEXT INDEX text_index ON your_table(text_field);
    
  2. 使用全文搜索语句:

    mysql> SELECT * FROM your_table WHERE MATCH(text_field) 
             AGAINST('Red Blue');
    +--------------+
    | text_field   |
    +--------------+
    | Red Blue abc |
    | Red abc Blue |
    | Red abc      |
    | Blue abc     |
    +--------------+
    4 rows in set (0,00 sec)
    
  3. 您必须在运行查询之前替换哈希符号。

答案 1 :(得分:0)

您的示例似乎更多地是关于在索引或搜索期间可能在一起或分开的单词。

在Solr中,这在分析期间通过在分析器链中包含WordDelimiterFilter来处理。您可以在Solr Start上看到the links to the examples that use it。 Solr附带的示例也使用了该过滤器,因此请务必阅读本教程。

相关问题