首页 > 解决方案 > Lucene解析不一致

问题描述

我在试用 Lucene 时不一致。

然而,当我执行搜索时;getCodeBased 查询返回 0 个文档;而 getTextBased 查询返回 1 个文档。这怎么可能; 特别是因为我使用了从 getCodeBased 生成的查询文本并将其输入 getTextBased ...

问候和感谢

    private fun getCodeBased() : Query {
        val term1 = Term("contents", "Kotlin")
        val term2 = Term("group", "6")
        val term3 = Term("group", "20")

        val subQuery = BooleanQuery.Builder()
            .add(TermQuery(term2), BooleanClause.Occur.SHOULD)
            .add(TermQuery(term3), BooleanClause.Occur.SHOULD)
            .build()

        val query = BooleanQuery.Builder()
            .add(TermQuery(term1), BooleanClause.Occur.MUST)
            .add(subQuery, BooleanClause.Occur.MUST)
            .build()

        println(query.toString())

        return query
    }


    private fun getTextBased() : Query {
        val mfq = MultiFieldQueryParser(arrayOf("contents", "group"), StandardAnalyzer())
        val query = mfq.parse("+contents:Kotlin +(group:6 group:20)") // working
        return query
    }

标签: javakotlinlucene

解决方案


推荐阅读