【问题标题】:searching for a group of keywords in multiple fields using lucene使用lucene在多个字段中搜索一组关键字
【发布时间】:2012-02-25 19:46:55
【问题描述】:

这些是我的数据库中由 lucene 索引的列:

category_name / sub_category_name / classification_name / item_name / supplier

那么样本数据如下:

ALUMINUM / ORDINARY / 3" / CHINA ALUMINUM / <BLANK>
ALUMINUM / ORDINARY / 4" / USA ALUMINUM / <BLANK>
ALUMINUM / SPECIAL / 1" / PHL ALUMINUM / JKL MANUFACTURERS
ALUMINUM / PLAIN / 1" / CANADA ALUMINUM / ABC COMPANY
ALUMINUM / SPECIAL / 3"A / CHINA ALUMINUM / DEF INC

我希望我的用户在搜索栏中输入一组关键字,在所有列中搜索此关键字并显示特定结果。比如用户搜索时

 "ALUMINUM 3"A CHINA" 

它只会显示这条记录:

ALUMINUM / SPECIAL / 3"A / CHINA ALUMINUM / DEF INC

会有一个 lucene 查询吗?我使用 java 作为我的主要语言,使用 mysql 作为我的数据库。我的数据库存储引擎是 InnoDB

【问题讨论】:

    标签: java mysql lucene innodb full-text-search


    【解决方案1】:

    如果您的搜索涉及所有列,则将它们全部索引为一个字段。然后用户只需输入他们的查询,您无需执行任何操作。

    【讨论】:

    • 那么我将使用什么类型的 lucene 查询呢?
    • ...你想要什么类型的?什么意思?
    • 明白你的意思了。我使用 queryparser 进行解析,效果很好。谢谢!
    【解决方案2】:

    org.apache.lucene.queryParser.MultiFieldQueryParser 就是为这种情况而设计的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多