如何索引和搜索Lucene.NET中的Datetime字段?

Dinesh_Dini

我不知道如何索引和搜索Registred_Date(它包含sql格式的datetime)。我需要在几年或几天之间进行搜索。我正在使用布尔查询进行搜索。下面的代码用于数字字段和普通字段字段索引。

       IndexWriter indexWriter = new IndexWriter(dir, new StandardAnalyzer(),Lucene.Net.Index.IndexWriter.MaxFieldLength.UNLIMITED);
        DataSet ds = new DataSet();
         //ds contains table
        if (ds.Tables[0] != null)
        {
            DataTable dt = ds.Tables[0];
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    //Create the Document object
                    Document doc = new Document();

                    foreach (DataColumn dc in dt.Columns)
                    {
                        string check = dc.ToString();
                        if (check.Equals("Experience"))
                        {
                            int n=Convert.ToInt32(dr[dc.ColumnName]);
                            NumericField numericField = new NumericField(dc.ColumnName, Field.Store.YES, true);
                            numericField.SetIntValue(n);
                            doc.Add(numericField);
                        }
                      else if(check.Equals("Registred_Date"))
                        {

                         }
                        else
                        {
                            doc.Add(new Field(dc.ColumnName, dr[dc.ColumnName].ToString(), Field.Store.YES, Field.Index.ANALYZED));
                        }
                        //Populate the document with the column name and value from our query
                    }
                    // Write the Document to the catalog
                    indexWriter.AddDocument(doc);
                }
            }
        }
        // Close the writer
        indexWriter.Close();
Dinesh_Dini

感谢@Thomas CG de Vilhena和Mihai Soloi。我在您的帮助下找到了解决方案。

对于索引:

DateTime d1 = Convert.ToDateTime(dr[dc.ColumnName]);
doc.Add(new Field("Registered_Date", DateTools.DateToString(d1, DateTools.Resolution.SECOND), Field.Store.YES, Field.Index.ANALYZED));

搜索:

DateTime d1 = DateTime.Now.AddDays(-15);
var dateValue = DateTools.DateToString(d1, DateTools.Resolution.MILLISECOND);
var filter = FieldCacheRangeFilter.NewStringRange("Registered_Date",lowerVal: dateValue, includeLower: true,upperVal: null, includeUpper: false);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在lucene.net中索引和搜索带有特殊字符的短语查询?

来自分类Dev

lucene如何处理StringField中的点('。')?(发布索引和搜索文件名)

来自分类Dev

lucene如何处理StringField中的点('。')?(发布索引和搜索文件名)

来自分类Dev

Lucene索引字段不可搜索

来自分类Dev

如何在Elasticsearch或Lucene中基于索引类型增强搜索?

来自分类Dev

如何在elasticsearch或lucene中基于索引类型增强搜索?

来自分类Dev

HibernateSearch / Lucene在带底线的索引中搜索

来自分类Dev

如何使Lucene.NET将2个Sitecore字段合并到1个索引字段中?

来自分类Dev

如何更新 lucene.net 索引中的字段而不是更新所有索引的示例

来自分类Dev

在Lucene中搜索索引文档时如何获取唯一文档

来自分类Dev

未在SiteCore Lucene搜索索引中建立索引的组件

来自分类Dev

未在SiteCore Lucene搜索索引中建立索引的组件

来自分类Dev

Lucene索引中的文档和字段实例重用

来自分类Dev

如何从弹性搜索中获取索引的字段?

来自分类Dev

Lucene如何索引not_analyzed字段

来自分类Dev

Lucene.NET-与AND在多个字段中搜索多个单词

来自分类Dev

如何在 Lucene 7.4 中索引短字段

来自分类Dev

Lucene in Action 一书和字段索引分析参数 API 在 6.x 中的相关性如何

来自分类Dev

Lucene .NET中字段索引枚举的用途是什么

来自分类Dev

如何撰写lucene.net的搜索查询?

来自分类Dev

如何从Lucene(version5.3)产生的索引中获得术语频率和doc频率

来自分类Dev

在Lucene.Net中搜索具有值(x或y或z)和更多值的字段名

来自分类Dev

Sitecore 8.2 Lucene 搜索未索引计算字段中的所有术语

来自分类Dev

如何提高Lucene中的搜索查询效率?

来自分类Dev

如何从Lucene索引中获得独特的结果?

来自分类Dev

Elasticsearch按索引类型和字段搜索

来自分类Dev

准则和Symfony 2中的DateTime字段

来自分类Dev

使用Lucene.Net进行Sitecore搜索:在特定字段中搜索

来自分类Dev

使用Lucene和Azure Search .NET SDK进行模糊搜索

Related 相关文章

  1. 1

    如何在lucene.net中索引和搜索带有特殊字符的短语查询?

  2. 2

    lucene如何处理StringField中的点('。')?(发布索引和搜索文件名)

  3. 3

    lucene如何处理StringField中的点('。')?(发布索引和搜索文件名)

  4. 4

    Lucene索引字段不可搜索

  5. 5

    如何在Elasticsearch或Lucene中基于索引类型增强搜索?

  6. 6

    如何在elasticsearch或lucene中基于索引类型增强搜索?

  7. 7

    HibernateSearch / Lucene在带底线的索引中搜索

  8. 8

    如何使Lucene.NET将2个Sitecore字段合并到1个索引字段中?

  9. 9

    如何更新 lucene.net 索引中的字段而不是更新所有索引的示例

  10. 10

    在Lucene中搜索索引文档时如何获取唯一文档

  11. 11

    未在SiteCore Lucene搜索索引中建立索引的组件

  12. 12

    未在SiteCore Lucene搜索索引中建立索引的组件

  13. 13

    Lucene索引中的文档和字段实例重用

  14. 14

    如何从弹性搜索中获取索引的字段?

  15. 15

    Lucene如何索引not_analyzed字段

  16. 16

    Lucene.NET-与AND在多个字段中搜索多个单词

  17. 17

    如何在 Lucene 7.4 中索引短字段

  18. 18

    Lucene in Action 一书和字段索引分析参数 API 在 6.x 中的相关性如何

  19. 19

    Lucene .NET中字段索引枚举的用途是什么

  20. 20

    如何撰写lucene.net的搜索查询?

  21. 21

    如何从Lucene(version5.3)产生的索引中获得术语频率和doc频率

  22. 22

    在Lucene.Net中搜索具有值(x或y或z)和更多值的字段名

  23. 23

    Sitecore 8.2 Lucene 搜索未索引计算字段中的所有术语

  24. 24

    如何提高Lucene中的搜索查询效率?

  25. 25

    如何从Lucene索引中获得独特的结果?

  26. 26

    Elasticsearch按索引类型和字段搜索

  27. 27

    准则和Symfony 2中的DateTime字段

  28. 28

    使用Lucene.Net进行Sitecore搜索:在特定字段中搜索

  29. 29

    使用Lucene和Azure Search .NET SDK进行模糊搜索

热门标签

归档