php - mysql like %asd% 相当于 solr 查询

标签 php mysql solr

我有一个正在尝试处理的查询,我搜索了它但找不到任何答案,我做错了什么,我想要搜索的是 %asd%,但我得到的是 asd% 结果而不是它,

我的字段类型是这样的,

<fieldType name="text_general_edge_ngram" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
            <tokenizer class="solr.LowerCaseTokenizerFactory"/>
            <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="solr.LowerCaseTokenizerFactory"/>
        </analyzer>
    </fieldType>

我的查询是 name:asd,这是我的查询还是字段类型?谢谢你:)

最佳答案

如果你想进行像 %asd% 这样的搜索,你不需要 ngram 过滤器...基本上 solr 使用 ~ 来表示单个字符和 * 搜索中的多个字符...

例如 name:asd~ 将匹配 asda asdb asdc 等,而 name:asd* 将匹配 asdasadad asdfgkhjfgkl 和依此类推,您可以使用 name: ~asd~ 来匹配 basdfeasdkname:*asd*对于 aldkaasdsdfsdoippopasdoppm

据我所知,这种搜索不需要 ngram

关于php - mysql like %asd% 相当于 solr 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13210720/

相关文章:

php - 标准表单元素,MVC架构中代码放置的位置

带破折号的 Solr 查询

java - 如何避免在 Apache Solr 6 中的 @Field 注解 bean 字段上设置 ArrayList?

php - 在 php 上显示数据库项目

java - Solr删除由于某种原因无法正常工作

php - 从 PHP 执行 Ruby 脚本并获取输出

php - 用 php mpdf 打断很长的单词

php: 从 html 中解析字符串

python - Dask Dataframe read_sql_table 返回 TypeError

php - 如何在 Symfony 中创建多个 ChoiceType - 行