0
我正在使用RavenDb来存储数据。文档有像Id,名称,说明等列在Raven db中搜索问题db
我设置索引为“名称”字段显然搜索输入文本为“包含”,并在查询中我使用 它作为“StartsWith”这是工作正常。 请参见下面的代码:
index setting
//this.Indexes.Add(x => x.Name, FieldIndexing.Analyzed);
//Data retrieving Code
//var resultSet = from temp in Query<Model>(Index.NAME)
//.Where(x => x.Name.StartsWith(Searchterm))
// select new { temp.Name }
我的问题是假设数据库名称是“ABC PQR XYZ”
CASE1(开头):当我在搜索框中输入“ABC”,我得到妥善纪录以上。
CASE2(整词搜索):当我输入“ABC P”或“ABC PQ”或“ABC PQR”时,我没有得到任何结果。 (这是问题)
CASE3(CONTAINS):当我输入“焊接工艺评定”或“XYZ”,我得到记录正确
现在,当我改变指数为默认值,如:
//this.Indexes.Add(x => x.Name, FieldIndexing.Default);
从以上CASE1 & 2正在工作,但case3不是。
有什么办法可以让所有3个案例工作?任何帮助将非常感激..
是的,当我使用分析时,术语突破[ABC,PQR,XYZ]。 – Freelancer
是的,当我使用分析时,条款突破[ABC,PQR,XYZ]。请注意,“ABC PQR XYZ”在db中是单个词作为“名称”。所以我想要的是:CAES1:当我在搜索框中输入“ABC”时,它应该返回全名,如“ABC PQR XYZ”CAES2:当我在搜索框中输入“ABC P”或“ABC PQ”或“ABC PQR”我应该得到“ABC PQR XYZ”。 CAES3:当我输入“PQR”或“XYZ”时,我也希望得到整个单词“ABC PQR XYZ”。 – Freelancer
多次索引该字段,一次分析,一次没有。然后适当地搜索相关的索引字段。 –