我想为最终用户提供对所有业务对象进行自由形式搜索的能力。用户将提供 Lucene 搜索表达式。业务对象完全不相关,没有任何共同之处。
每个业务对象都包含有自己的特定属性。对于这个问题,以下是业务对象:
博客{标题; 身体; }
用户{名字;姓; 国家; 电子邮件地址; 性别(男/女);}
我如何创建一个可以服务于以下用例的索引:
博客和用户中的自由格式文本搜索。例如,搜索出现“印度”一词的用户和博客条目。不应要求最终用户在所有 Lucene 文档字段之间指定 ORing。
仅针对用户的自由格式文本搜索。例如,搜索出现“雅虎”一词的用户。不应要求最终用户在与用户相关的所有 Lucene 文档字段之间指定 ORing。
自由格式文本仅搜索博客条目。例如,搜索那些出现“Skeet Async”一词的博客条目。不应要求最终用户在与博客相关的所有 Lucene 文档字段之间指定 ORing。
按属性搜索博客条目的自由格式文本。例如,搜索那些在“标题”属性中出现“异步”的博客条目。
按属性为用户搜索自由格式文本。例如,搜索那些“Skeet”出现在“姓氏”属性中的用户。
如何定义索引策略 - 单个索引或多个索引,使用的分析器,如何在搜索查询中提供上下文等。
谢谢。