Xpages Lotus FTSearch带有数字和点的通配符';s

Xpages Lotus FTSearch带有数字和点的通配符';s,xpages,lotus-notes,lotus-domino,Xpages,Lotus Notes,Lotus Domino,你好,我的数据库有个大问题。ftSearch 背景: 该数据库包含大约5k个Dokuments,其中只有文本字段。其中一个字段称为ArtId。对于搜索,我使用了一个较长的查询,它针对不同的字段,但我将问题归结为: 问题: 当我搜索像12345这样的ArtId时,我将搜索转换为[ArtId]=“*12345*”,这样用户也可以找到01234567,效果非常好。但问题是我也有一些练习,其中ArtId看起来像这样01.123.45。如果我尝试搜索它,它也会转换为[ArtId]=“*01.123.45*

你好,我的数据库有个大问题。ftSearch

背景: 该数据库包含大约5k个Dokuments,其中只有文本字段。其中一个字段称为ArtId。对于搜索,我使用了一个较长的查询,它针对不同的字段,但我将问题归结为:

问题: 当我搜索像12345这样的ArtId时,我将搜索转换为
[ArtId]=“*12345*”
,这样用户也可以找到01234567,效果非常好。但问题是我也有一些练习,其中ArtId看起来像这样01.123.45。如果我尝试搜索它,它也会转换为
[ArtId]=“*01.123.45*”
,并返回。。。没什么,因为。而且似乎不在一起工作

如果我在数据库中使用搜索,我会得到相同的结果。 你有什么办法逃走吗。在一个“数字”里面。我已经试过用什么来代替圆点了?或其他查询参数,但没有任何帮助


我知道这更像是一个笔记问题,而不是一个xpages问题,但正如我从XPageMaby那里所说的,有一个更早期的解决方法来抓住这个问题。在我的XPages代码中输入并转换它。

一个建议-您可以创建一个计算字段,从ArtId中删除点,然后对该项执行通配符搜索。

我执行类似于Ken建议的操作,因为我需要搜索包含完全限定名列表的多值字段,而搜索fieldName包含CN=Some Name/O=SomeOrg总是失败,但是,如果我创建一个计算字段并将名称转换为缩写,则fieldname包含一些名称/SomeOrg可以正常工作。FTSearch很不错,但它对一些格式问题非常敏感。因此,我认为您的问题可以通过创建一个计算字段来解决,该字段将所有数据转换为相同的格式。

在FTSearch中,点字符(可能)没有被索引,因为FTSearch是面向单词的,在正常的文本解析中,点被视为单词分隔符

您可以将非FT搜索与
@Contains(fieldname;“12345”:“123.45”)
一起使用。这将比FTsearch慢,但只有3000个文档,性能可能是可以接受的

或者,我相信您可以在FTSearch中使用“NEAR”关键字,如
“01 NEAR 123 NEAR 45”
,但您必须在结果集上进行另一次代码传递,以确保不会从ID中得到误报,因为这些段以不同的顺序出现。

好的,我发现了问题。。。 在复制数据库并重建索引3次后,它现在可以工作了。。。看来数据库中的索引只是被破坏了


我不知道为什么第一次删除并创建新索引时它不起作用,但现在它起作用了。

我已经这么想了,但是如果我删除这个点,我就不会得到正确的搜索结果,因为01.234.56!=0123456... 只有使用“01.234.56”而不是
“*01.234.56*”
,我才能获得正确的文档。但是,正如我在另一方面所说的,如果我搜索1234,我想找到1234567,那么
“*1234*”
会很好地工作。我有点困惑notes是如何处理索引/搜索的,因为我认为我在文本字段[ArtId]中搜索字符串
“*1.234.4*”
。但是,如果我搜索
“*hallo.world*”
,我会得到结果,因此,我需要将我的搜索请求转换为数字键。。。因此,我已经有了一个很好的文本字段,其中包含了所需的数据,但我找不到它=),但是如果点没有索引,为什么我会得到“1.234.56”的结果,而没有带
“*1.234.5*”
的结果,我想notes会在我使用点时立即将搜索查询转换为一个数字,而通配符对数字不起作用。