|
Rank: Member
Groups: Registered
Joined: 9/14/2009 Posts: 27
|
Hi, four years on and the search function has been something of a failure for my client, not because it doesn't work but because the re-indexing is incredibly slow. I've just tried using the Indexing Manager instead of the service and, with 40,000 documents imported, the first 500 seem to index very quickly. After this it gets progressively slower until at 20,000 it's almost stopped; days later and it's still not finished. Is there any obvious reason for this? Or anything from the index directory which would give us a clue? Thanks. John John
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
John, yes basically you've reached the bounds of what version 3 can practically handle. This was something we addressed in subsequent versions and if you try 2012 (which sorry isn't a free upgrade) you should see it indexing much quicker. http://keyoti.com/produc...tNetWeb/evaluation.html (its same as full version) http://keyoti.com/produc...gradelicensing_Pro.html
I hate to answer so conclusively, but for version 2010 (v4) we completely rewrote the backend (index file format and logic) to get past performance issues. So there aren't any tweaks for v3 you can do. Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 9/14/2009 Posts: 27
|
Hi Jim, thanks again for your prompt reply, and it's good to hear that the solution is apparently so simple. I'm sure buying the new version will be fine but, before I do, is there any problem I should expect if we upgrade, bearing in mind the "custom data" issues we discussed above, and the fact that we have this: <EventHandlerAssemblyPath>D:\IndexDirectory\SearchPlugin.dll</EventHandlerAssemblyPath> Many thanks, John John John
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
John, it's generally explained here http://keyoti.com/produc...%20Prior%20Versions.htm
My expectation is that besides recreating the index there will be a few places where you're using deprecated API members. Usually that just means changing a method name or adding an argument. The compiler error should suggest the correction. So you'll need to rebuild the plugin and main project, and probably fix a few things but shouldn't be anything major. Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 9/14/2009 Posts: 27
|
Hi Jim, thanks for the info and you're right, I've had to change quite a few bits here and there but nothing too significant. I have a question about the plugin though. It's working fine and I've debugged it to make sure it's doing the right thing, i.e. setting up CustomData like this: if (e.ActionData.Name == ActionName.ReadText) { Document doc = (Document)sender; doc.CustomData = doc.LastModifiedDate.ToShortDateString(); } When I debug, as I say, it appears to work fine but then I check the Contents tab in the Index Management Tool and CustomData is empty for all documents. Any obvious reason why this is happening? Many thanks. John John
|
|
Rank: Member
Groups: Registered
Joined: 9/14/2009 Posts: 27
|
Hi Jim, another question about the conversion. On the search result page I'm setting up result.Title so that it contains several anchor elements for the user. So the string result.Title is like "<a href="abc">def</a><a href="cba">fed</a>" and this is displayed as <%# Container.Title %>. This works fine in the current version, i.e. having the "<a>" formatting in the Title attribute and not in the aspx. In the new version though, it seems that you're rendering "<" as the entity not the actual tag delimiter, so on the page you get all the HTML rather than the proper anchors. It wouldn't be so much of a problem if there was a place for "abc", "def", "cba" and "fed" separately in the ResultItem object but of course there isn't. Does this make sense, and is there a solution? Many thanks. John John
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
Hi John, 1. Your way makes sense, but one thing I notice is in our examples we do it like this Code: if (e.ActionData.Name == ActionName.ReadText) { (e.ActionData.Data as DocumentText).MetaCustomData = doc.LastModifiedDate.ToShortDateString(); }
Otherwise, not really sure, if it's hitting a break point in your plugin, and executing the code I can't think why it wouldn't make it into the index. Have you tried with a fresh index directory (you can just create a new folder and copy all .XML files in to it, to preserve your setup)? 2. I think you can do this <%# Container.Title.Replace("<","<").Replace(">",">") %> best Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 9/14/2009 Posts: 27
|
Thanks Jim, it's all looking very good now. Clearing down the index directory sorted the CustomData problem. All the best, John John
|
|
Rank: Member
Groups: Registered
Joined: 9/14/2009 Posts: 27
|
Hi Jim, I'm using the Index Management Tool on the live server now to index the real files. The process gets to around 28500 files and then this message box appears: Invalid Unicode code point found at index 3. Parameter name: strInput When I click OK I get "Import finished" but there are still about 12000 files left to index. Any ideas how to get round this? The message appears to give no clue as to which file is wrong or what's wrong with the file, and it seems weird that this should kill the whole process instead of ignoring the offending file and just carrying on. Many thanks. John John
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
Hi John, can you enable logging under configuration, do the import again (sorry). When it dies email all logs to me (all .txt files from the index dir) via support at keyoti.com Thanks Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|