gpt4 book ai didi

search - 有没有办法防止使用 Sitecore 搜索和 Lucene 进行部分单词匹配?

转载 作者:行者123 更新时间:2023-12-02 07:21:49 24 4
gpt4 key购买 nike

使用 Sitecore 搜索和 Lucene 时是否有办法不匹配部分单词?例如,当搜索“Bos”时,我不想匹配“Boston”一词。有没有办法要求整个单词匹配?这是一个代码片段。我正在使用 FieldQuery。

bool _foundHits = false;
_index = SearchManager.GetIndex("product_version_index");
using (IndexSearchContext _searchContext = _index.CreateSearchContext())
{
QueryBase _query = new FieldQuery("title", txtProduct.Text.Trim());
SearchHits _hits = _searchContext.Search(_query, 1000);
...
}

最佳答案

您可能想尝试类似的操作来获取您想要运行的查询。它会将 + 放入(表示必填术语)并引用该术语,因此它应该与您要查找的内容完全匹配,它对我有用。假设您传递的是 BooleanClause.Occur.MUST。

    protected BooleanQuery GetBooleanQuery(string fieldName, string term, BooleanClause.Occur occur)
{
QueryParser parser = new QueryParser(fieldName, new StandardAnalyzer());

BooleanQuery query = new BooleanQuery();
query.Add(parser.Parse(term), occur);
return query;
}

本质上,你的查询最终会被解析为 +title:"Bos",你也可以下载 Luke 并使用其中的查询语法,如果你知道语法应该是什么,然后向后查看,那就更容易了什么查询对象会生成它。

关于search - 有没有办法防止使用 Sitecore 搜索和 Lucene 进行部分单词匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18252854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com