如何在MySQL全文搜索中将未得分符号作为分隔符?

如何在MySQL全文搜索中将未得分符号作为分隔符?,mysql,encoding,utf-8,full-text-search,Mysql,Encoding,Utf 8,Full Text Search,我在我们的老项目中使用了MyISAM全文搜索。当我试图搜索一些单词时,在下划线符号中找不到该单词的值 Example table: mysql> select * from test; +----+---------------------+ | id | title | +----+---------------------+ | 1 | BK_43_BARRELS_ONE | | 2 | bk_43_BARREL_ONE | | 3 | bk-43

我在我们的老项目中使用了MyISAM全文搜索。当我试图搜索一些单词时,在下划线符号中找不到该单词的值

Example table: mysql> select * from test; +----+---------------------+
| id | title | +----+---------------------+ | 1 | BK_43_BARRELS_ONE | | 2 | bk_43_BARREL_ONE | | 3 | bk-43-BaRrEls-one | | 4 | bk 43 barrels one | | 5 | b 4 barr on | | 6 | barrels | | 7 | bk 176 Barrels-goon | | 8 | bar | +----+---------------------+ 因此,问题是: 1我在Index.xml中做错了什么,所以所有utf8现在都坏了? 2在LDML语法中\u0000和\u005F是什么意思?当这2条规则被注释时,utf8也被破坏。 3在哪里我可以找到LDML语法的快速指南

另外,我知道Sphynx规则,但我没有时间将其应用到旧项目全文,除了这个问题。我也知道我应该对LDML语法进行RTM,但是这需要花费很多时间,如果有人已经知道的话。。。Thx


p.S.2这个问题在其他一些问题上看起来可能重复,但我找不到完全相同的UTF8、西里尔文、下划线问题、Index.xml LDML语法。

我认为,这很重要。MySQL版本是5.5.43。LDML语法有点不同。猜测:重置抛出了所有标点符号;你需要加上所有旧的标点符号,加上“u”。是的,我试过了。我成功地创建了新的排序规则并将其应用于测试表。这适用于简单的等式运算,但不适用于fullsearch。我会在有时间的时候编辑我的问题。 select * from test where match(title) against('barrel*' IN BOOLEAN MODE); +----+---------------------+ | id | title | +----+---------------------+ | 3 | bk-43-BaRrEls-one | | 4 | bk 43 barrels one | | 6 | barrels | | 7 | bk 176 Barrels-goon | +----+---------------------+
<charset name="utf8">
  <family>Unicode</family>
  <description>UTF-8 Unicode</description>
  <alias>utf-8</alias>
  <collation name="utf8_general_ci" id="33">
   <flag>primary</flag>
   <flag>compiled</flag>
  </collation>
  <collation name="utf8_bin"        id="83">
    <flag>binary</flag>
    <flag>compiled</flag>
  </collation>
  <collation name="utf8_ft_ci"      id="17">
    <flag>binary</flag>
    <flag>compiled</flag>
    <rules>
      <reset>\u0000</reset>
      <s>\u005F</s>
    </rules>
  </collation>
</charset>
1064 - You@0020have@0020an@0020error@0020in@0020your@0020SQL@0020syntax@003b@0020check@0020the@0020manual@0020that@0020corresponds@0020to@0020your@0020MySQL@0020server@0020version@0020for@0020the@0020right@0020syntax@0020to@0020use@0020near@0020@0027RLIKE@003f@003futf8@003f@0027@0020at@0020line@00201