Solr中的高级搜索选项对应于DtSearch选项

时间:2013-02-07 05:35:16

标签: solr solrnet fuzzy-search stemming advanced-search

我们正在使用solnet作为.net Solr客户端库,将应用程序中的搜索和索引模块从DtSearch替换为Solr。

我们对Solr / Lucene来说相对较新,需要一些帮助/指导才能理解Solr中更高级的搜索选项。

当前应用程序使用DtSearch支持以下搜索选项:

1)词或短语

2)确切的单词或短语

3)不是这些单词或短语

4)一个或多个单词(“A”或“B”或“C”)

5)单词与另一个单词的n个单词的接近度

6)数字范围 - 从 - 到

7)选

。词干(搜索*找到搜索或搜索)

。同义词(搜索和查找寻找或查找)

。 n个字母内的模糊(p%arts找到巴黎)

。 Phonic同音异义词(#Smith也发现Smithe和Smythe)

作为示例,生成的搜索查询将发布到DtSearch以获取以下用例:

  1. 搜索词组:通用收藏

  2. 确切短语:linq

  3. 不是这些词:sql

  4. 这些词中的一个或多个:ICollection或ArrayList或Hashtable

  5. 邻近:csharp语言的4个单词

  6. 选项:

    一个。词干

    湾同义词

    ℃。模糊2个字母

    d。 Phonic同音异义词

    搜索查询: generic * collection * generic&收集和放大器; #generic #collection g %% eneric c %% ollection“linq”-sql ICollection OR ArrayList OR Hashtable csharp w / 4 language

  7. 我们已经能够进行简单的搜索(文件中的单数术语搜索) 内容)与Solr的亮点。现在我们需要用Solr / Lucene替换这些选项。

    任何人都可以就我们应该在什么/哪个地方提供一些指示。

1 个答案:

答案 0 :(得分:2)

  1. 字或短语
    Solr支持通过变量boost来查询字段和跨字段以控制相关性。 Solr还提供各种查询,如词组查询,通配符,匹配前缀

  2. 确切的单词或短语
    您可以自定义Solr来处理词组匹配和完全匹配词。

  3. 不是这些单词或短语
    Negative queries - Solr支持使用-Not

  4. 包含否定查询的布尔运算符
  5. 一个或多个单词(“A”或“B”或“C”)
    Boolean Operators - Solr为包含AND (+) OR语法的布尔运算符提供支持

  6. 单词与另一个单词的n个单词的接近程度 Promixity Search - Solr支持〜运算符的接近查询,然后是slop(邻近差异)

  7. 数字范围 - 从 - 到 Range Queries - Solr支持数字和日期的范围查询。

  8. 选项

    • 词干(搜索*查找搜索或搜索) Stemmer - Solr有内置的割线机,可以直接包装开箱即用。它还允许定义新的割除器 详细Language Analysis支持各种语言

    • 同义词(搜索和查找寻找或查找)
      Synonym - Solr通过基于文件的方法支持同义词处理。

    • n个字母内的模糊(p%arts找到巴黎)
      Fuzzy search - Solr使用〜运算符

    • 支持基于模糊的搜索
    • Phonic同音词(#Smith也发现Smithe和Smythe)
      Phonetic search - Solr提供phonetic次搜索,允许匹配拼写错误的单词。它可以自定义支持4个过滤器,可以自定义。

  9. AnalyzersTokenizersTokenFilters

    的完整列表