2016-06-07 10 views
0

Я успешно (вроде) реализовал индексирование прожектора в моем приложении для iPhone, но некоторые поисковые строки, похоже, не могут быть найдены.ios 9 core spotlight поиск не работает для определенных строк CSSearchableItemAttributeSet

Я создаю каждый CSSearchableItemAttributeSet как тип kUTTypeText, я устанавливаю отображаемое имя, название как «D0010». Я также задал ключевые слова, включая «D0010». (есть несколько сотен с увеличивающимся числом, например D0011, D0012 ...)

Приложение завершило индексирование без ошибок.

Когда я перейду к поиску прожекторов и напечатаю «D0», я получаю три или около того результатов, так как я продолжаю набирать «D001», я не получаю никаких результатов.

Забавно, если я наберу «0010», я получаю точный результат!

Есть ли идеи, что происходит?

Частичный код Цель ниже.

attributeSet.displayName = [[NSString alloc] initWithFormat:@"%@", [dataflow flowCounter]]; 

    attributeSet.title = [[NSString alloc] initWithFormat:@"%@", [dataflow flowCounter]]; 
    //Sounds similar to displayName but is not displayed to user 

    attributeSet.contentDescription = [[NSString alloc] initWithFormat:@"%@", [dataflow flowDescription]]; 

    attributeSet.keywords = @[[[NSString alloc] initWithFormat:@"%@", [dataflow flowCounter]],[[NSString alloc] initWithFormat:@"D%@", [dataflow flowNumber]],[dataflow flowCounter], attributeSet.displayName, attributeSet.contentDescription,[dataflow flowNumber],[dataflow flowCounter] ]; 



    CSSearchableItem *item1 = [[CSSearchableItem alloc] initWithUniqueIdentifier:[[NSString alloc] initWithFormat:@"DTC_%@", [dataflow flowNumber]] domainIdentifier:@"com.utiligroup" attributeSet:attributeSet]; 

........

[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:[self.spotlightsearch copy] 
               completionHandler: ^(NSError * __nullable error) { 
    if (error != nil){ 
     NSLog(@"Error"); 
    } 
    else { 
     NSLog(@"dataflows added "); 

ответ

0

Отойди, я знал, что добавление indexSearchableItems только помечаются элементы для индексации (даже в случае успешного возвращения на обработчик завершения), но я не понимаю, сколько времени потребуется, чтобы индексировать их.

Через 1 день и все элементы теперь доступны для поиска.

Так что, в основном, это занимает некоторое время.